{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f879b5ec",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Importing Libraries\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "import torch.utils\n",
    "import torch.utils.data\n",
    "from torch.utils.data import DataLoader\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from math import pi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f6a244cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "# initial condition\n",
    "\n",
    "def initial_condition(x):\n",
    "    return -torch.sin(pi*x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a8174d00",
   "metadata": {},
   "outputs": [],
   "source": [
    "# assigning number of points\n",
    "initial_pts = 200\n",
    "left_boundary_pts = 200\n",
    "right_boundary_pts = 200\n",
    "residual_pts = 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "543fe072",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Type of optimizer (ADAM or LBFGS)\n",
    "opt_type = \"LBFGS\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "58c39e88",
   "metadata": {},
   "source": [
    "### Initial and boundary conditions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "473c146a",
   "metadata": {},
   "outputs": [],
   "source": [
    "#first condition\n",
    "x_init = 2*torch.rand((initial_pts,1)) - 1 # initial pts (basically torch.rand generate the value between 0 to 1 but domain is (-1,1) so 2(0,1)-1)\n",
    "t_init =  0*x_init                            #t=0\n",
    "init =  torch.cat([x_init, t_init],1)                   #concatinate the variable x and t\n",
    "u_init = initial_condition(init[:,0]).reshape(-1, 1)     #u(0,x)=-sin(pix) (initial condition)\n",
    "\n",
    "\n",
    "\n",
    "#second condition\n",
    "xb_left = -torch.ones((left_boundary_pts, 1)) # left spatial boundary #u(t,-1) [boundary condition]  generate the value of x when t is -1\n",
    "tb_left = torch.rand((left_boundary_pts, 1)) #randomly generate the value of t\n",
    "b_left = torch.cat([xb_left, tb_left ],1)    #concatinate\n",
    "u_b_l = 0*xb_left            #u(t,-1)=0 [boundary condition]\n",
    "\n",
    "\n",
    "#third condition\n",
    "xb_right = torch.ones((right_boundary_pts, 1)) # right spatial boundary,u(t,1)  generate the value of x when t is 1\n",
    "tb_right = torch.rand((right_boundary_pts, 1)) # right boundary pts\n",
    "b_right = torch.cat([xb_right, tb_right ],1)   #concatinate\n",
    "u_b_r = 0*xb_right                              #u(t,1)=0 [boundary condition]\n",
    "\n",
    "#fourth conditon for interior points\n",
    "x_interior = 2*torch.rand((residual_pts, 1))-1   #randomy generate the value of x in domain\n",
    "t_interior = torch.rand((residual_pts, 1))        #randomly generate the value of t in [0,1]\n",
    "interior = torch.cat([x_interior, t_interior],1)   #concatinate\n",
    "\n",
    "training_set = DataLoader(torch.utils.data.TensorDataset(init, u_init, b_left, b_right), batch_size=200, shuffle=False)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a440742",
   "metadata": {},
   "source": [
    "### Neural network class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "046f88c7",
   "metadata": {},
   "outputs": [],
   "source": [
    "class NeuralNet(nn.Module):\n",
    "\n",
    "    def __init__(self, input_dimension, output_dimension, n_hidden_layers, neurons):\n",
    "        super(NeuralNet, self).__init__()\n",
    "        # Number of input dimensions n\n",
    "        self.input_dimension = input_dimension\n",
    "        # Number of output dimensions m\n",
    "        self.output_dimension = output_dimension\n",
    "        # Number of neurons per layer\n",
    "        self.neurons = neurons\n",
    "        # Number of hidden layers\n",
    "        self.n_hidden_layers = n_hidden_layers\n",
    "        # Activation function\n",
    "        self.activation = nn.Tanh()\n",
    "\n",
    "        self.input_layer = nn.Linear(self.input_dimension, self.neurons)\n",
    "        self.hidden_layers = nn.ModuleList([nn.Linear(self.neurons, self.neurons) for _ in range(n_hidden_layers)])\n",
    "        self.output_layer = nn.Linear(self.neurons, self.output_dimension)\n",
    "\n",
    "    def forward(self, x):\n",
    "        # The forward function performs the set of affine and non-linear transformations defining the network\n",
    "        x = self.activation(self.input_layer(x))   \n",
    "        for k, l in enumerate(self.hidden_layers):  \n",
    "            x = self.activation(l(x))                         \n",
    "        return self.output_layer(x)       \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4af5c113",
   "metadata": {},
   "outputs": [],
   "source": [
    "my_network = NeuralNet(input_dimension = init.shape[1], output_dimension = u_init.shape[1], n_hidden_layers=4, neurons=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "31b1fcd3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Model definition (for good intialisation)\n",
    "def init_xavier(model, retrain_seed):\n",
    "    torch.manual_seed(retrain_seed)\n",
    "    def init_weights(m):\n",
    "        if type(m) == nn.Linear and m.weight.requires_grad and m.bias.requires_grad:\n",
    "            g = nn.init.calculate_gain('tanh')\n",
    "            torch.nn.init.xavier_uniform_(m.weight, gain=g)\n",
    "            #torch.nn.init.xavier_normal_(m.weight, gain=g)\n",
    "            m.bias.data.fill_(0)\n",
    "    model.apply(init_weights)\n",
    "\n",
    "# Random Seed for weight initialization\n",
    "retrain = 128\n",
    "# Xavier weight initialization\n",
    "init_xavier(my_network, retrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7c142849",
   "metadata": {},
   "outputs": [],
   "source": [
    "if opt_type == \"ADAM\":\n",
    "    optimizer_ = optim.Adam(my_network.parameters(), lr=0.001)\n",
    "elif opt_type == \"LBFGS\":\n",
    "    optimizer_ = optim.LBFGS(my_network.parameters(), lr=0.1, max_iter=1, max_eval=50000, tolerance_change=1.0 * np.finfo(float).eps)\n",
    "else:\n",
    "    raise ValueError(\"Optimizer not recognized\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ce64cf21",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "################################  0  ################################\n",
      "Loss:  51.86415481567383\n",
      "################################  1  ################################\n",
      "Loss:  50.639556884765625\n",
      "################################  2  ################################\n",
      "Loss:  42.89594268798828\n",
      "################################  3  ################################\n",
      "Loss:  34.37834930419922\n",
      "################################  4  ################################\n",
      "Loss:  26.722042083740234\n",
      "################################  5  ################################\n",
      "Loss:  20.997289657592773\n",
      "################################  6  ################################\n",
      "Loss:  16.75794219970703\n",
      "################################  7  ################################\n",
      "Loss:  13.54272174835205\n",
      "################################  8  ################################\n",
      "Loss:  11.039069175720215\n",
      "################################  9  ################################\n",
      "Loss:  9.00601577758789\n",
      "################################  10  ################################\n",
      "Loss:  7.283391952514648\n",
      "################################  11  ################################\n",
      "Loss:  5.7880449295043945\n",
      "################################  12  ################################\n",
      "Loss:  4.505769729614258\n",
      "################################  13  ################################\n",
      "Loss:  3.477177381515503\n",
      "################################  14  ################################\n",
      "Loss:  2.7351832389831543\n",
      "################################  15  ################################\n",
      "Loss:  2.231412887573242\n",
      "################################  16  ################################\n",
      "Loss:  1.8805136680603027\n",
      "################################  17  ################################\n",
      "Loss:  1.6229727268218994\n",
      "################################  18  ################################\n",
      "Loss:  1.4261339902877808\n",
      "################################  19  ################################\n",
      "Loss:  1.2715309858322144\n",
      "################################  20  ################################\n",
      "Loss:  1.147830605506897\n",
      "################################  21  ################################\n",
      "Loss:  1.0475552082061768\n",
      "################################  22  ################################\n",
      "Loss:  0.9654468297958374\n",
      "################################  23  ################################\n",
      "Loss:  0.8976125717163086\n",
      "################################  24  ################################\n",
      "Loss:  0.8410539031028748\n",
      "################################  25  ################################\n",
      "Loss:  0.793408215045929\n",
      "################################  26  ################################\n",
      "Loss:  0.7527875304222107\n",
      "################################  27  ################################\n",
      "Loss:  0.7176774740219116\n",
      "################################  28  ################################\n",
      "Loss:  0.6868591904640198\n",
      "################################  29  ################################\n",
      "Loss:  0.6593523621559143\n",
      "################################  30  ################################\n",
      "Loss:  0.6343622803688049\n",
      "################################  31  ################################\n",
      "Loss:  0.6112443208694458\n",
      "################################  32  ################################\n",
      "Loss:  0.5894702672958374\n",
      "################################  33  ################################\n",
      "Loss:  0.5686054229736328\n",
      "################################  34  ################################\n",
      "Loss:  0.5482909083366394\n",
      "################################  35  ################################\n",
      "Loss:  0.5282315015792847\n",
      "################################  36  ################################\n",
      "Loss:  0.5081862807273865\n",
      "################################  37  ################################\n",
      "Loss:  0.4879554808139801\n",
      "################################  38  ################################\n",
      "Loss:  0.46734941005706787\n",
      "################################  39  ################################\n",
      "Loss:  0.44609692692756653\n",
      "################################  40  ################################\n",
      "Loss:  0.42360788583755493\n",
      "################################  41  ################################\n",
      "Loss:  0.3986184895038605\n",
      "################################  42  ################################\n",
      "Loss:  0.37023547291755676\n",
      "################################  43  ################################\n",
      "Loss:  0.33722105622291565\n",
      "################################  44  ################################\n",
      "Loss:  0.3162907361984253\n",
      "################################  45  ################################\n",
      "Loss:  0.3001832664012909\n",
      "################################  46  ################################\n",
      "Loss:  0.28836530447006226\n",
      "################################  47  ################################\n",
      "Loss:  0.27995064854621887\n",
      "################################  48  ################################\n",
      "Loss:  0.27179017663002014\n",
      "################################  49  ################################\n",
      "Loss:  0.26508498191833496\n",
      "################################  50  ################################\n",
      "Loss:  0.25819188356399536\n",
      "################################  51  ################################\n",
      "Loss:  0.2508953809738159\n",
      "################################  52  ################################\n",
      "Loss:  0.24367736279964447\n",
      "################################  53  ################################\n",
      "Loss:  0.23626378178596497\n",
      "################################  54  ################################\n",
      "Loss:  0.22922652959823608\n",
      "################################  55  ################################\n",
      "Loss:  0.22275829315185547\n",
      "################################  56  ################################\n",
      "Loss:  0.2170552760362625\n",
      "################################  57  ################################\n",
      "Loss:  0.21229074895381927\n",
      "################################  58  ################################\n",
      "Loss:  0.20769712328910828\n",
      "################################  59  ################################\n",
      "Loss:  0.20351099967956543\n",
      "################################  60  ################################\n",
      "Loss:  0.19963890314102173\n",
      "################################  61  ################################\n",
      "Loss:  0.1958475559949875\n",
      "################################  62  ################################\n",
      "Loss:  0.1921434998512268\n",
      "################################  63  ################################\n",
      "Loss:  0.1883237659931183\n",
      "################################  64  ################################\n",
      "Loss:  0.184600368142128\n",
      "################################  65  ################################\n",
      "Loss:  0.1805034875869751\n",
      "################################  66  ################################\n",
      "Loss:  0.1771504133939743\n",
      "################################  67  ################################\n",
      "Loss:  0.1732172966003418\n",
      "################################  68  ################################\n",
      "Loss:  0.16981522738933563\n",
      "################################  69  ################################\n",
      "Loss:  0.1660999059677124\n",
      "################################  70  ################################\n",
      "Loss:  0.16272324323654175\n",
      "################################  71  ################################\n",
      "Loss:  0.15956485271453857\n",
      "################################  72  ################################\n",
      "Loss:  0.15674397349357605\n",
      "################################  73  ################################\n",
      "Loss:  0.15425126254558563\n",
      "################################  74  ################################\n",
      "Loss:  0.15221254527568817\n",
      "################################  75  ################################\n",
      "Loss:  0.15029782056808472\n",
      "################################  76  ################################\n",
      "Loss:  0.14861294627189636\n",
      "################################  77  ################################\n",
      "Loss:  0.14709636569023132\n",
      "################################  78  ################################\n",
      "Loss:  0.14566092193126678\n",
      "################################  79  ################################\n",
      "Loss:  0.1443716585636139\n",
      "################################  80  ################################\n",
      "Loss:  0.14314697682857513\n",
      "################################  81  ################################\n",
      "Loss:  0.14200839400291443\n",
      "################################  82  ################################\n",
      "Loss:  0.14088208973407745\n",
      "################################  83  ################################\n",
      "Loss:  0.13978426158428192\n",
      "################################  84  ################################\n",
      "Loss:  0.1387021690607071\n",
      "################################  85  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.13766461610794067\n",
      "################################  86  ################################\n",
      "Loss:  0.13673166930675507\n",
      "################################  87  ################################\n",
      "Loss:  0.13586431741714478\n",
      "################################  88  ################################\n",
      "Loss:  0.13502971827983856\n",
      "################################  89  ################################\n",
      "Loss:  0.13426798582077026\n",
      "################################  90  ################################\n",
      "Loss:  0.13353748619556427\n",
      "################################  91  ################################\n",
      "Loss:  0.13287873566150665\n",
      "################################  92  ################################\n",
      "Loss:  0.13226215541362762\n",
      "################################  93  ################################\n",
      "Loss:  0.13168329000473022\n",
      "################################  94  ################################\n",
      "Loss:  0.13112248480319977\n",
      "################################  95  ################################\n",
      "Loss:  0.13056087493896484\n",
      "################################  96  ################################\n",
      "Loss:  0.12998536229133606\n",
      "################################  97  ################################\n",
      "Loss:  0.12935321033000946\n",
      "################################  98  ################################\n",
      "Loss:  0.12867410480976105\n",
      "################################  99  ################################\n",
      "Loss:  0.127966046333313\n",
      "################################  100  ################################\n",
      "Loss:  0.12722249329090118\n",
      "################################  101  ################################\n",
      "Loss:  0.12647388875484467\n",
      "################################  102  ################################\n",
      "Loss:  0.12567956745624542\n",
      "################################  103  ################################\n",
      "Loss:  0.12483662366867065\n",
      "################################  104  ################################\n",
      "Loss:  0.12399080395698547\n",
      "################################  105  ################################\n",
      "Loss:  0.12316925823688507\n",
      "################################  106  ################################\n",
      "Loss:  0.12239168584346771\n",
      "################################  107  ################################\n",
      "Loss:  0.12166731804609299\n",
      "################################  108  ################################\n",
      "Loss:  0.12099117785692215\n",
      "################################  109  ################################\n",
      "Loss:  0.12037387490272522\n",
      "################################  110  ################################\n",
      "Loss:  0.11979188770055771\n",
      "################################  111  ################################\n",
      "Loss:  0.11925602704286575\n",
      "################################  112  ################################\n",
      "Loss:  0.11873192340135574\n",
      "################################  113  ################################\n",
      "Loss:  0.11822272092103958\n",
      "################################  114  ################################\n",
      "Loss:  0.1177191510796547\n",
      "################################  115  ################################\n",
      "Loss:  0.11720366030931473\n",
      "################################  116  ################################\n",
      "Loss:  0.11670178174972534\n",
      "################################  117  ################################\n",
      "Loss:  0.11616087704896927\n",
      "################################  118  ################################\n",
      "Loss:  0.11560356616973877\n",
      "################################  119  ################################\n",
      "Loss:  0.11504187434911728\n",
      "################################  120  ################################\n",
      "Loss:  0.11450571566820145\n",
      "################################  121  ################################\n",
      "Loss:  0.1139904335141182\n",
      "################################  122  ################################\n",
      "Loss:  0.11351731419563293\n",
      "################################  123  ################################\n",
      "Loss:  0.11309101432561874\n",
      "################################  124  ################################\n",
      "Loss:  0.11271682381629944\n",
      "################################  125  ################################\n",
      "Loss:  0.11238241195678711\n",
      "################################  126  ################################\n",
      "Loss:  0.11208587884902954\n",
      "################################  127  ################################\n",
      "Loss:  0.11182911694049835\n",
      "################################  128  ################################\n",
      "Loss:  0.11160679906606674\n",
      "################################  129  ################################\n",
      "Loss:  0.11141420155763626\n",
      "################################  130  ################################\n",
      "Loss:  0.11124216020107269\n",
      "################################  131  ################################\n",
      "Loss:  0.11108263581991196\n",
      "################################  132  ################################\n",
      "Loss:  0.11092931032180786\n",
      "################################  133  ################################\n",
      "Loss:  0.11077436059713364\n",
      "################################  134  ################################\n",
      "Loss:  0.11060881614685059\n",
      "################################  135  ################################\n",
      "Loss:  0.11044253408908844\n",
      "################################  136  ################################\n",
      "Loss:  0.11026816815137863\n",
      "################################  137  ################################\n",
      "Loss:  0.11010432243347168\n",
      "################################  138  ################################\n",
      "Loss:  0.1098988875746727\n",
      "################################  139  ################################\n",
      "Loss:  0.10964996367692947\n",
      "################################  140  ################################\n",
      "Loss:  0.10934078693389893\n",
      "################################  141  ################################\n",
      "Loss:  0.10901279747486115\n",
      "################################  142  ################################\n",
      "Loss:  0.1086030825972557\n",
      "################################  143  ################################\n",
      "Loss:  0.10812752693891525\n",
      "################################  144  ################################\n",
      "Loss:  0.10761354118585587\n",
      "################################  145  ################################\n",
      "Loss:  0.10712634027004242\n",
      "################################  146  ################################\n",
      "Loss:  0.10666926205158234\n",
      "################################  147  ################################\n",
      "Loss:  0.10627448558807373\n",
      "################################  148  ################################\n",
      "Loss:  0.10590080916881561\n",
      "################################  149  ################################\n",
      "Loss:  0.10557237267494202\n",
      "################################  150  ################################\n",
      "Loss:  0.10521885752677917\n",
      "################################  151  ################################\n",
      "Loss:  0.10491514950990677\n",
      "################################  152  ################################\n",
      "Loss:  0.10460209846496582\n",
      "################################  153  ################################\n",
      "Loss:  0.10428832471370697\n",
      "################################  154  ################################\n",
      "Loss:  0.10398700833320618\n",
      "################################  155  ################################\n",
      "Loss:  0.10368837416172028\n",
      "################################  156  ################################\n",
      "Loss:  0.10338713973760605\n",
      "################################  157  ################################\n",
      "Loss:  0.10308673232793808\n",
      "################################  158  ################################\n",
      "Loss:  0.10277532786130905\n",
      "################################  159  ################################\n",
      "Loss:  0.10246315598487854\n",
      "################################  160  ################################\n",
      "Loss:  0.10213414579629898\n",
      "################################  161  ################################\n",
      "Loss:  0.10180746018886566\n",
      "################################  162  ################################\n",
      "Loss:  0.1014636978507042\n",
      "################################  163  ################################\n",
      "Loss:  0.10112572461366653\n",
      "################################  164  ################################\n",
      "Loss:  0.10077303647994995\n",
      "################################  165  ################################\n",
      "Loss:  0.10042521357536316\n",
      "################################  166  ################################\n",
      "Loss:  0.10007006675004959\n",
      "################################  167  ################################\n",
      "Loss:  0.09971681982278824\n",
      "################################  168  ################################\n",
      "Loss:  0.09934975206851959\n",
      "################################  169  ################################\n",
      "Loss:  0.09898267686367035\n",
      "################################  170  ################################\n",
      "Loss:  0.09861233085393906\n",
      "################################  171  ################################\n",
      "Loss:  0.09827516973018646\n",
      "################################  172  ################################\n",
      "Loss:  0.0979466438293457\n",
      "################################  173  ################################\n",
      "Loss:  0.0976296067237854\n",
      "################################  174  ################################\n",
      "Loss:  0.09732460230588913\n",
      "################################  175  ################################\n",
      "Loss:  0.0970277488231659\n",
      "################################  176  ################################\n",
      "Loss:  0.0967380627989769\n",
      "################################  177  ################################\n",
      "Loss:  0.0964418426156044\n",
      "################################  178  ################################\n",
      "Loss:  0.09617124497890472\n",
      "################################  179  ################################\n",
      "Loss:  0.0959404855966568\n",
      "################################  180  ################################\n",
      "Loss:  0.09571640938520432\n",
      "################################  181  ################################\n",
      "Loss:  0.09549559652805328\n",
      "################################  182  ################################\n",
      "Loss:  0.09527456015348434\n",
      "################################  183  ################################\n",
      "Loss:  0.09505416452884674\n",
      "################################  184  ################################\n",
      "Loss:  0.09483464062213898\n",
      "################################  185  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.09461659938097\n",
      "################################  186  ################################\n",
      "Loss:  0.09439753741025925\n",
      "################################  187  ################################\n",
      "Loss:  0.09417508542537689\n",
      "################################  188  ################################\n",
      "Loss:  0.09394800662994385\n",
      "################################  189  ################################\n",
      "Loss:  0.09371532499790192\n",
      "################################  190  ################################\n",
      "Loss:  0.09347563236951828\n",
      "################################  191  ################################\n",
      "Loss:  0.0932241678237915\n",
      "################################  192  ################################\n",
      "Loss:  0.09299583733081818\n",
      "################################  193  ################################\n",
      "Loss:  0.0927560105919838\n",
      "################################  194  ################################\n",
      "Loss:  0.09250500053167343\n",
      "################################  195  ################################\n",
      "Loss:  0.09226252138614655\n",
      "################################  196  ################################\n",
      "Loss:  0.09201714396476746\n",
      "################################  197  ################################\n",
      "Loss:  0.09177132695913315\n",
      "################################  198  ################################\n",
      "Loss:  0.09152864664793015\n",
      "################################  199  ################################\n",
      "Loss:  0.09129034727811813\n",
      "################################  200  ################################\n",
      "Loss:  0.09105425328016281\n",
      "################################  201  ################################\n",
      "Loss:  0.09082846343517303\n",
      "################################  202  ################################\n",
      "Loss:  0.09059550613164902\n",
      "################################  203  ################################\n",
      "Loss:  0.09036032855510712\n",
      "################################  204  ################################\n",
      "Loss:  0.09012456238269806\n",
      "################################  205  ################################\n",
      "Loss:  0.08988113701343536\n",
      "################################  206  ################################\n",
      "Loss:  0.08962714672088623\n",
      "################################  207  ################################\n",
      "Loss:  0.0893683135509491\n",
      "################################  208  ################################\n",
      "Loss:  0.08908350765705109\n",
      "################################  209  ################################\n",
      "Loss:  0.08880265802145004\n",
      "################################  210  ################################\n",
      "Loss:  0.0885317325592041\n",
      "################################  211  ################################\n",
      "Loss:  0.08823730051517487\n",
      "################################  212  ################################\n",
      "Loss:  0.08792972564697266\n",
      "################################  213  ################################\n",
      "Loss:  0.08758363872766495\n",
      "################################  214  ################################\n",
      "Loss:  0.08722305297851562\n",
      "################################  215  ################################\n",
      "Loss:  0.08687435835599899\n",
      "################################  216  ################################\n",
      "Loss:  0.0864768996834755\n",
      "################################  217  ################################\n",
      "Loss:  0.08601328730583191\n",
      "################################  218  ################################\n",
      "Loss:  0.0854802057147026\n",
      "################################  219  ################################\n",
      "Loss:  0.08490658551454544\n",
      "################################  220  ################################\n",
      "Loss:  0.08444761484861374\n",
      "################################  221  ################################\n",
      "Loss:  0.08411995321512222\n",
      "################################  222  ################################\n",
      "Loss:  0.0838240534067154\n",
      "################################  223  ################################\n",
      "Loss:  0.08356206864118576\n",
      "################################  224  ################################\n",
      "Loss:  0.08330763131380081\n",
      "################################  225  ################################\n",
      "Loss:  0.08305288106203079\n",
      "################################  226  ################################\n",
      "Loss:  0.08278710395097733\n",
      "################################  227  ################################\n",
      "Loss:  0.08252141624689102\n",
      "################################  228  ################################\n",
      "Loss:  0.08225753158330917\n",
      "################################  229  ################################\n",
      "Loss:  0.08199593424797058\n",
      "################################  230  ################################\n",
      "Loss:  0.08174256980419159\n",
      "################################  231  ################################\n",
      "Loss:  0.08149110525846481\n",
      "################################  232  ################################\n",
      "Loss:  0.08124011009931564\n",
      "################################  233  ################################\n",
      "Loss:  0.0809885561466217\n",
      "################################  234  ################################\n",
      "Loss:  0.08073758333921432\n",
      "################################  235  ################################\n",
      "Loss:  0.08047883957624435\n",
      "################################  236  ################################\n",
      "Loss:  0.08019901812076569\n",
      "################################  237  ################################\n",
      "Loss:  0.07987669110298157\n",
      "################################  238  ################################\n",
      "Loss:  0.07961954176425934\n",
      "################################  239  ################################\n",
      "Loss:  0.07937518507242203\n",
      "################################  240  ################################\n",
      "Loss:  0.0791262611746788\n",
      "################################  241  ################################\n",
      "Loss:  0.07887645810842514\n",
      "################################  242  ################################\n",
      "Loss:  0.07862845808267593\n",
      "################################  243  ################################\n",
      "Loss:  0.07838359475135803\n",
      "################################  244  ################################\n",
      "Loss:  0.07814419269561768\n",
      "################################  245  ################################\n",
      "Loss:  0.0779111310839653\n",
      "################################  246  ################################\n",
      "Loss:  0.07768341153860092\n",
      "################################  247  ################################\n",
      "Loss:  0.07746211439371109\n",
      "################################  248  ################################\n",
      "Loss:  0.07723972201347351\n",
      "################################  249  ################################\n",
      "Loss:  0.07702060788869858\n",
      "################################  250  ################################\n",
      "Loss:  0.07679381966590881\n",
      "################################  251  ################################\n",
      "Loss:  0.07656050473451614\n",
      "################################  252  ################################\n",
      "Loss:  0.07632198184728622\n",
      "################################  253  ################################\n",
      "Loss:  0.07606552541255951\n",
      "################################  254  ################################\n",
      "Loss:  0.07581032812595367\n",
      "################################  255  ################################\n",
      "Loss:  0.0755419060587883\n",
      "################################  256  ################################\n",
      "Loss:  0.07527466118335724\n",
      "################################  257  ################################\n",
      "Loss:  0.0749703049659729\n",
      "################################  258  ################################\n",
      "Loss:  0.07462941855192184\n",
      "################################  259  ################################\n",
      "Loss:  0.07420936226844788\n",
      "################################  260  ################################\n",
      "Loss:  0.07375592738389969\n",
      "################################  261  ################################\n",
      "Loss:  0.07322482764720917\n",
      "################################  262  ################################\n",
      "Loss:  0.07276434451341629\n",
      "################################  263  ################################\n",
      "Loss:  0.0723484680056572\n",
      "################################  264  ################################\n",
      "Loss:  0.07193897664546967\n",
      "################################  265  ################################\n",
      "Loss:  0.07150966674089432\n",
      "################################  266  ################################\n",
      "Loss:  0.07107072323560715\n",
      "################################  267  ################################\n",
      "Loss:  0.07061006873846054\n",
      "################################  268  ################################\n",
      "Loss:  0.0701649934053421\n",
      "################################  269  ################################\n",
      "Loss:  0.06968998908996582\n",
      "################################  270  ################################\n",
      "Loss:  0.0692015141248703\n",
      "################################  271  ################################\n",
      "Loss:  0.06868665665388107\n",
      "################################  272  ################################\n",
      "Loss:  0.06808269768953323\n",
      "################################  273  ################################\n",
      "Loss:  0.06744895875453949\n",
      "################################  274  ################################\n",
      "Loss:  0.06671825796365738\n",
      "################################  275  ################################\n",
      "Loss:  0.06594832986593246\n",
      "################################  276  ################################\n",
      "Loss:  0.0651964321732521\n",
      "################################  277  ################################\n",
      "Loss:  0.06460274755954742\n",
      "################################  278  ################################\n",
      "Loss:  0.06405338644981384\n",
      "################################  279  ################################\n",
      "Loss:  0.06348785012960434\n",
      "################################  280  ################################\n",
      "Loss:  0.06283777207136154\n",
      "################################  281  ################################\n",
      "Loss:  0.062112417072057724\n",
      "################################  282  ################################\n",
      "Loss:  0.06129799038171768\n",
      "################################  283  ################################\n",
      "Loss:  0.060439128428697586\n",
      "################################  284  ################################\n",
      "Loss:  0.059704434126615524\n",
      "################################  285  ################################\n",
      "Loss:  0.059052154421806335\n",
      "################################  286  ################################\n",
      "Loss:  0.05847049877047539\n",
      "################################  287  ################################\n",
      "Loss:  0.05791314318776131\n",
      "################################  288  ################################\n",
      "Loss:  0.05743299797177315\n",
      "################################  289  ################################\n",
      "Loss:  0.057004354894161224\n",
      "################################  290  ################################\n",
      "Loss:  0.056604329496622086\n",
      "################################  291  ################################\n",
      "Loss:  0.05616386607289314\n",
      "################################  292  ################################\n",
      "Loss:  0.05566781759262085\n",
      "################################  293  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.055125102400779724\n",
      "################################  294  ################################\n",
      "Loss:  0.05458207428455353\n",
      "################################  295  ################################\n",
      "Loss:  0.054055243730545044\n",
      "################################  296  ################################\n",
      "Loss:  0.05357535928487778\n",
      "################################  297  ################################\n",
      "Loss:  0.05313656106591225\n",
      "################################  298  ################################\n",
      "Loss:  0.05273952707648277\n",
      "################################  299  ################################\n",
      "Loss:  0.05236523225903511\n",
      "################################  300  ################################\n",
      "Loss:  0.05200754851102829\n",
      "################################  301  ################################\n",
      "Loss:  0.05165102332830429\n",
      "################################  302  ################################\n",
      "Loss:  0.051292452961206436\n",
      "################################  303  ################################\n",
      "Loss:  0.05091632902622223\n",
      "################################  304  ################################\n",
      "Loss:  0.050520334392786026\n",
      "################################  305  ################################\n",
      "Loss:  0.05006757378578186\n",
      "################################  306  ################################\n",
      "Loss:  0.04954860731959343\n",
      "################################  307  ################################\n",
      "Loss:  0.04893868416547775\n",
      "################################  308  ################################\n",
      "Loss:  0.04821757227182388\n",
      "################################  309  ################################\n",
      "Loss:  0.04749086871743202\n",
      "################################  310  ################################\n",
      "Loss:  0.046760618686676025\n",
      "################################  311  ################################\n",
      "Loss:  0.04603319615125656\n",
      "################################  312  ################################\n",
      "Loss:  0.04535439983010292\n",
      "################################  313  ################################\n",
      "Loss:  0.04485611617565155\n",
      "################################  314  ################################\n",
      "Loss:  0.044444289058446884\n",
      "################################  315  ################################\n",
      "Loss:  0.044103968888521194\n",
      "################################  316  ################################\n",
      "Loss:  0.04382677376270294\n",
      "################################  317  ################################\n",
      "Loss:  0.04360220953822136\n",
      "################################  318  ################################\n",
      "Loss:  0.04340892285108566\n",
      "################################  319  ################################\n",
      "Loss:  0.0431867279112339\n",
      "################################  320  ################################\n",
      "Loss:  0.04293811693787575\n",
      "################################  321  ################################\n",
      "Loss:  0.04267539083957672\n",
      "################################  322  ################################\n",
      "Loss:  0.04236961528658867\n",
      "################################  323  ################################\n",
      "Loss:  0.04200092703104019\n",
      "################################  324  ################################\n",
      "Loss:  0.04164949059486389\n",
      "################################  325  ################################\n",
      "Loss:  0.04130030795931816\n",
      "################################  326  ################################\n",
      "Loss:  0.040928687900304794\n",
      "################################  327  ################################\n",
      "Loss:  0.040509555488824844\n",
      "################################  328  ################################\n",
      "Loss:  0.04011225327849388\n",
      "################################  329  ################################\n",
      "Loss:  0.03975088149309158\n",
      "################################  330  ################################\n",
      "Loss:  0.03933192417025566\n",
      "################################  331  ################################\n",
      "Loss:  0.0389300175011158\n",
      "################################  332  ################################\n",
      "Loss:  0.038499172776937485\n",
      "################################  333  ################################\n",
      "Loss:  0.03803347796201706\n",
      "################################  334  ################################\n",
      "Loss:  0.037514179944992065\n",
      "################################  335  ################################\n",
      "Loss:  0.03708665072917938\n",
      "################################  336  ################################\n",
      "Loss:  0.03666215017437935\n",
      "################################  337  ################################\n",
      "Loss:  0.03625383600592613\n",
      "################################  338  ################################\n",
      "Loss:  0.03588591888546944\n",
      "################################  339  ################################\n",
      "Loss:  0.0355236791074276\n",
      "################################  340  ################################\n",
      "Loss:  0.03517971187829971\n",
      "################################  341  ################################\n",
      "Loss:  0.03484415262937546\n",
      "################################  342  ################################\n",
      "Loss:  0.034509237855672836\n",
      "################################  343  ################################\n",
      "Loss:  0.03416572883725166\n",
      "################################  344  ################################\n",
      "Loss:  0.03386769816279411\n",
      "################################  345  ################################\n",
      "Loss:  0.033526547253131866\n",
      "################################  346  ################################\n",
      "Loss:  0.03310399129986763\n",
      "################################  347  ################################\n",
      "Loss:  0.03278059512376785\n",
      "################################  348  ################################\n",
      "Loss:  0.0324823372066021\n",
      "################################  349  ################################\n",
      "Loss:  0.03220517188310623\n",
      "################################  350  ################################\n",
      "Loss:  0.03193182498216629\n",
      "################################  351  ################################\n",
      "Loss:  0.03167707100510597\n",
      "################################  352  ################################\n",
      "Loss:  0.03143489360809326\n",
      "################################  353  ################################\n",
      "Loss:  0.031208740547299385\n",
      "################################  354  ################################\n",
      "Loss:  0.03099437803030014\n",
      "################################  355  ################################\n",
      "Loss:  0.030788829550147057\n",
      "################################  356  ################################\n",
      "Loss:  0.03060050494968891\n",
      "################################  357  ################################\n",
      "Loss:  0.030430572107434273\n",
      "################################  358  ################################\n",
      "Loss:  0.030280090868473053\n",
      "################################  359  ################################\n",
      "Loss:  0.030145689845085144\n",
      "################################  360  ################################\n",
      "Loss:  0.03001623973250389\n",
      "################################  361  ################################\n",
      "Loss:  0.02988619916141033\n",
      "################################  362  ################################\n",
      "Loss:  0.029752027243375778\n",
      "################################  363  ################################\n",
      "Loss:  0.02960849367082119\n",
      "################################  364  ################################\n",
      "Loss:  0.02946127951145172\n",
      "################################  365  ################################\n",
      "Loss:  0.029309747740626335\n",
      "################################  366  ################################\n",
      "Loss:  0.029160160571336746\n",
      "################################  367  ################################\n",
      "Loss:  0.029007622972130775\n",
      "################################  368  ################################\n",
      "Loss:  0.028859665617346764\n",
      "################################  369  ################################\n",
      "Loss:  0.0287158340215683\n",
      "################################  370  ################################\n",
      "Loss:  0.02857525460422039\n",
      "################################  371  ################################\n",
      "Loss:  0.028438663110136986\n",
      "################################  372  ################################\n",
      "Loss:  0.028301723301410675\n",
      "################################  373  ################################\n",
      "Loss:  0.028164738789200783\n",
      "################################  374  ################################\n",
      "Loss:  0.02803032658994198\n",
      "################################  375  ################################\n",
      "Loss:  0.02790401317179203\n",
      "################################  376  ################################\n",
      "Loss:  0.027782578021287918\n",
      "################################  377  ################################\n",
      "Loss:  0.0276668518781662\n",
      "################################  378  ################################\n",
      "Loss:  0.02755814418196678\n",
      "################################  379  ################################\n",
      "Loss:  0.027452455833554268\n",
      "################################  380  ################################\n",
      "Loss:  0.027352329343557358\n",
      "################################  381  ################################\n",
      "Loss:  0.02725164219737053\n",
      "################################  382  ################################\n",
      "Loss:  0.027155520394444466\n",
      "################################  383  ################################\n",
      "Loss:  0.027071841061115265\n",
      "################################  384  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0269866194576025\n",
      "################################  385  ################################\n",
      "Loss:  0.026905322447419167\n",
      "################################  386  ################################\n",
      "Loss:  0.026821814477443695\n",
      "################################  387  ################################\n",
      "Loss:  0.026751389726996422\n",
      "################################  388  ################################\n",
      "Loss:  0.026687875390052795\n",
      "################################  389  ################################\n",
      "Loss:  0.02660556696355343\n",
      "################################  390  ################################\n",
      "Loss:  0.026507223024964333\n",
      "################################  391  ################################\n",
      "Loss:  0.02640128694474697\n",
      "################################  392  ################################\n",
      "Loss:  0.02628418616950512\n",
      "################################  393  ################################\n",
      "Loss:  0.026157701388001442\n",
      "################################  394  ################################\n",
      "Loss:  0.026025094091892242\n",
      "################################  395  ################################\n",
      "Loss:  0.02588634192943573\n",
      "################################  396  ################################\n",
      "Loss:  0.025744544342160225\n",
      "################################  397  ################################\n",
      "Loss:  0.025599971413612366\n",
      "################################  398  ################################\n",
      "Loss:  0.025457769632339478\n",
      "################################  399  ################################\n",
      "Loss:  0.025315964594483376\n",
      "################################  400  ################################\n",
      "Loss:  0.025172675028443336\n",
      "################################  401  ################################\n",
      "Loss:  0.02502431534230709\n",
      "################################  402  ################################\n",
      "Loss:  0.0248812735080719\n",
      "################################  403  ################################\n",
      "Loss:  0.024754393845796585\n",
      "################################  404  ################################\n",
      "Loss:  0.024632804095745087\n",
      "################################  405  ################################\n",
      "Loss:  0.0245143361389637\n",
      "################################  406  ################################\n",
      "Loss:  0.02439536340534687\n",
      "################################  407  ################################\n",
      "Loss:  0.024274686351418495\n",
      "################################  408  ################################\n",
      "Loss:  0.024147575721144676\n",
      "################################  409  ################################\n",
      "Loss:  0.024014780297875404\n",
      "################################  410  ################################\n",
      "Loss:  0.023874329403042793\n",
      "################################  411  ################################\n",
      "Loss:  0.023740233853459358\n",
      "################################  412  ################################\n",
      "Loss:  0.023593928664922714\n",
      "################################  413  ################################\n",
      "Loss:  0.02344788797199726\n",
      "################################  414  ################################\n",
      "Loss:  0.02329092286527157\n",
      "################################  415  ################################\n",
      "Loss:  0.02311275154352188\n",
      "################################  416  ################################\n",
      "Loss:  0.02290012314915657\n",
      "################################  417  ################################\n",
      "Loss:  0.022626006975769997\n",
      "################################  418  ################################\n",
      "Loss:  0.022385071963071823\n",
      "################################  419  ################################\n",
      "Loss:  0.02224314957857132\n",
      "################################  420  ################################\n",
      "Loss:  0.022165026515722275\n",
      "################################  421  ################################\n",
      "Loss:  0.022072821855545044\n",
      "################################  422  ################################\n",
      "Loss:  0.022001631557941437\n",
      "################################  423  ################################\n",
      "Loss:  0.021937115117907524\n",
      "################################  424  ################################\n",
      "Loss:  0.021869195625185966\n",
      "################################  425  ################################\n",
      "Loss:  0.021785756573081017\n",
      "################################  426  ################################\n",
      "Loss:  0.021685432642698288\n",
      "################################  427  ################################\n",
      "Loss:  0.021590705960989\n",
      "################################  428  ################################\n",
      "Loss:  0.021496564149856567\n",
      "################################  429  ################################\n",
      "Loss:  0.021393893286585808\n",
      "################################  430  ################################\n",
      "Loss:  0.021272379904985428\n",
      "################################  431  ################################\n",
      "Loss:  0.021152952685952187\n",
      "################################  432  ################################\n",
      "Loss:  0.021028630435466766\n",
      "################################  433  ################################\n",
      "Loss:  0.020899085327982903\n",
      "################################  434  ################################\n",
      "Loss:  0.020779259502887726\n",
      "################################  435  ################################\n",
      "Loss:  0.020663278177380562\n",
      "################################  436  ################################\n",
      "Loss:  0.020551888272166252\n",
      "################################  437  ################################\n",
      "Loss:  0.02044200897216797\n",
      "################################  438  ################################\n",
      "Loss:  0.020334642380475998\n",
      "################################  439  ################################\n",
      "Loss:  0.0202336385846138\n",
      "################################  440  ################################\n",
      "Loss:  0.020137716084718704\n",
      "################################  441  ################################\n",
      "Loss:  0.020051049068570137\n",
      "################################  442  ################################\n",
      "Loss:  0.019971750676631927\n",
      "################################  443  ################################\n",
      "Loss:  0.019899269565939903\n",
      "################################  444  ################################\n",
      "Loss:  0.019830413162708282\n",
      "################################  445  ################################\n",
      "Loss:  0.019762035459280014\n",
      "################################  446  ################################\n",
      "Loss:  0.01969294250011444\n",
      "################################  447  ################################\n",
      "Loss:  0.019623739644885063\n",
      "################################  448  ################################\n",
      "Loss:  0.019553327932953835\n",
      "################################  449  ################################\n",
      "Loss:  0.019483020529150963\n",
      "################################  450  ################################\n",
      "Loss:  0.019410189241170883\n",
      "################################  451  ################################\n",
      "Loss:  0.01933855004608631\n",
      "################################  452  ################################\n",
      "Loss:  0.019265765324234962\n",
      "################################  453  ################################\n",
      "Loss:  0.01920083537697792\n",
      "################################  454  ################################\n",
      "Loss:  0.019139356911182404\n",
      "################################  455  ################################\n",
      "Loss:  0.01907488889992237\n",
      "################################  456  ################################\n",
      "Loss:  0.019007377326488495\n",
      "################################  457  ################################\n",
      "Loss:  0.01893519051373005\n",
      "################################  458  ################################\n",
      "Loss:  0.01885921321809292\n",
      "################################  459  ################################\n",
      "Loss:  0.018785826861858368\n",
      "################################  460  ################################\n",
      "Loss:  0.018711140379309654\n",
      "################################  461  ################################\n",
      "Loss:  0.018633706495165825\n",
      "################################  462  ################################\n",
      "Loss:  0.01855131797492504\n",
      "################################  463  ################################\n",
      "Loss:  0.018464839085936546\n",
      "################################  464  ################################\n",
      "Loss:  0.018370870500802994\n",
      "################################  465  ################################\n",
      "Loss:  0.01827508583664894\n",
      "################################  466  ################################\n",
      "Loss:  0.01817617565393448\n",
      "################################  467  ################################\n",
      "Loss:  0.018078863620758057\n",
      "################################  468  ################################\n",
      "Loss:  0.01798040047287941\n",
      "################################  469  ################################\n",
      "Loss:  0.017872244119644165\n",
      "################################  470  ################################\n",
      "Loss:  0.017748376354575157\n",
      "################################  471  ################################\n",
      "Loss:  0.01762319542467594\n",
      "################################  472  ################################\n",
      "Loss:  0.017508845776319504\n",
      "################################  473  ################################\n",
      "Loss:  0.01738659106194973\n",
      "################################  474  ################################\n",
      "Loss:  0.017261313274502754\n",
      "################################  475  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0171272624284029\n",
      "################################  476  ################################\n",
      "Loss:  0.016996843740344048\n",
      "################################  477  ################################\n",
      "Loss:  0.016871949657797813\n",
      "################################  478  ################################\n",
      "Loss:  0.016737567260861397\n",
      "################################  479  ################################\n",
      "Loss:  0.016606979072093964\n",
      "################################  480  ################################\n",
      "Loss:  0.01648092083632946\n",
      "################################  481  ################################\n",
      "Loss:  0.016353096812963486\n",
      "################################  482  ################################\n",
      "Loss:  0.01622895337641239\n",
      "################################  483  ################################\n",
      "Loss:  0.016098683699965477\n",
      "################################  484  ################################\n",
      "Loss:  0.015975983813405037\n",
      "################################  485  ################################\n",
      "Loss:  0.015850894153118134\n",
      "################################  486  ################################\n",
      "Loss:  0.01573648303747177\n",
      "################################  487  ################################\n",
      "Loss:  0.015626290813088417\n",
      "################################  488  ################################\n",
      "Loss:  0.015516651794314384\n",
      "################################  489  ################################\n",
      "Loss:  0.015408363193273544\n",
      "################################  490  ################################\n",
      "Loss:  0.015301074832677841\n",
      "################################  491  ################################\n",
      "Loss:  0.015198075212538242\n",
      "################################  492  ################################\n",
      "Loss:  0.015099003911018372\n",
      "################################  493  ################################\n",
      "Loss:  0.015004018321633339\n",
      "################################  494  ################################\n",
      "Loss:  0.014904927462339401\n",
      "################################  495  ################################\n",
      "Loss:  0.014802101068198681\n",
      "################################  496  ################################\n",
      "Loss:  0.014695550315082073\n",
      "################################  497  ################################\n",
      "Loss:  0.014602984301745892\n",
      "################################  498  ################################\n",
      "Loss:  0.014518257230520248\n",
      "################################  499  ################################\n",
      "Loss:  0.014426957815885544\n",
      "################################  500  ################################\n",
      "Loss:  0.014330283738672733\n",
      "################################  501  ################################\n",
      "Loss:  0.014246495440602303\n",
      "################################  502  ################################\n",
      "Loss:  0.014156620018184185\n",
      "################################  503  ################################\n",
      "Loss:  0.014064268209040165\n",
      "################################  504  ################################\n",
      "Loss:  0.01397809386253357\n",
      "################################  505  ################################\n",
      "Loss:  0.013883514329791069\n",
      "################################  506  ################################\n",
      "Loss:  0.013783679343760014\n",
      "################################  507  ################################\n",
      "Loss:  0.013683773577213287\n",
      "################################  508  ################################\n",
      "Loss:  0.01358217466622591\n",
      "################################  509  ################################\n",
      "Loss:  0.013474537059664726\n",
      "################################  510  ################################\n",
      "Loss:  0.01335779670625925\n",
      "################################  511  ################################\n",
      "Loss:  0.013242928311228752\n",
      "################################  512  ################################\n",
      "Loss:  0.013127114623785019\n",
      "################################  513  ################################\n",
      "Loss:  0.013024344108998775\n",
      "################################  514  ################################\n",
      "Loss:  0.012913740240037441\n",
      "################################  515  ################################\n",
      "Loss:  0.012804161757230759\n",
      "################################  516  ################################\n",
      "Loss:  0.012702897191047668\n",
      "################################  517  ################################\n",
      "Loss:  0.012604646384716034\n",
      "################################  518  ################################\n",
      "Loss:  0.01252240315079689\n",
      "################################  519  ################################\n",
      "Loss:  0.01244458369910717\n",
      "################################  520  ################################\n",
      "Loss:  0.012373204343020916\n",
      "################################  521  ################################\n",
      "Loss:  0.01230464968830347\n",
      "################################  522  ################################\n",
      "Loss:  0.012236027047038078\n",
      "################################  523  ################################\n",
      "Loss:  0.012167111970484257\n",
      "################################  524  ################################\n",
      "Loss:  0.012112122029066086\n",
      "################################  525  ################################\n",
      "Loss:  0.012065640650689602\n",
      "################################  526  ################################\n",
      "Loss:  0.012013780884444714\n",
      "################################  527  ################################\n",
      "Loss:  0.011965317651629448\n",
      "################################  528  ################################\n",
      "Loss:  0.011920754797756672\n",
      "################################  529  ################################\n",
      "Loss:  0.011873256415128708\n",
      "################################  530  ################################\n",
      "Loss:  0.011824682354927063\n",
      "################################  531  ################################\n",
      "Loss:  0.011774796061217785\n",
      "################################  532  ################################\n",
      "Loss:  0.011722753755748272\n",
      "################################  533  ################################\n",
      "Loss:  0.011666890233755112\n",
      "################################  534  ################################\n",
      "Loss:  0.011606699787080288\n",
      "################################  535  ################################\n",
      "Loss:  0.011542530730366707\n",
      "################################  536  ################################\n",
      "Loss:  0.011481212452054024\n",
      "################################  537  ################################\n",
      "Loss:  0.01142023503780365\n",
      "################################  538  ################################\n",
      "Loss:  0.01135467179119587\n",
      "################################  539  ################################\n",
      "Loss:  0.01128782145678997\n",
      "################################  540  ################################\n",
      "Loss:  0.011214281432330608\n",
      "################################  541  ################################\n",
      "Loss:  0.011140631511807442\n",
      "################################  542  ################################\n",
      "Loss:  0.011068975552916527\n",
      "################################  543  ################################\n",
      "Loss:  0.010990898124873638\n",
      "################################  544  ################################\n",
      "Loss:  0.010915331542491913\n",
      "################################  545  ################################\n",
      "Loss:  0.010837606154382229\n",
      "################################  546  ################################\n",
      "Loss:  0.010760768316686153\n",
      "################################  547  ################################\n",
      "Loss:  0.010678858496248722\n",
      "################################  548  ################################\n",
      "Loss:  0.010594767518341541\n",
      "################################  549  ################################\n",
      "Loss:  0.010504339821636677\n",
      "################################  550  ################################\n",
      "Loss:  0.01039749663323164\n",
      "################################  551  ################################\n",
      "Loss:  0.010314187034964561\n",
      "################################  552  ################################\n",
      "Loss:  0.0102302934974432\n",
      "################################  553  ################################\n",
      "Loss:  0.010142741724848747\n",
      "################################  554  ################################\n",
      "Loss:  0.010051495395600796\n",
      "################################  555  ################################\n",
      "Loss:  0.009961596690118313\n",
      "################################  556  ################################\n",
      "Loss:  0.009870961308479309\n",
      "################################  557  ################################\n",
      "Loss:  0.009785234928131104\n",
      "################################  558  ################################\n",
      "Loss:  0.009694095700979233\n",
      "################################  559  ################################\n",
      "Loss:  0.009597708471119404\n",
      "################################  560  ################################\n",
      "Loss:  0.00949865859001875\n",
      "################################  561  ################################\n",
      "Loss:  0.00940614566206932\n",
      "################################  562  ################################\n",
      "Loss:  0.00931421760469675\n",
      "################################  563  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.009221881628036499\n",
      "################################  564  ################################\n",
      "Loss:  0.009130063466727734\n",
      "################################  565  ################################\n",
      "Loss:  0.009039957076311111\n",
      "################################  566  ################################\n",
      "Loss:  0.008949516341090202\n",
      "################################  567  ################################\n",
      "Loss:  0.00886405911296606\n",
      "################################  568  ################################\n",
      "Loss:  0.008783536963164806\n",
      "################################  569  ################################\n",
      "Loss:  0.008708496578037739\n",
      "################################  570  ################################\n",
      "Loss:  0.008634273894131184\n",
      "################################  571  ################################\n",
      "Loss:  0.008561826311051846\n",
      "################################  572  ################################\n",
      "Loss:  0.008488730527460575\n",
      "################################  573  ################################\n",
      "Loss:  0.008415794000029564\n",
      "################################  574  ################################\n",
      "Loss:  0.008345288224518299\n",
      "################################  575  ################################\n",
      "Loss:  0.008277391083538532\n",
      "################################  576  ################################\n",
      "Loss:  0.008213832043111324\n",
      "################################  577  ################################\n",
      "Loss:  0.008149988017976284\n",
      "################################  578  ################################\n",
      "Loss:  0.00809283647686243\n",
      "################################  579  ################################\n",
      "Loss:  0.00803736224770546\n",
      "################################  580  ################################\n",
      "Loss:  0.007979744113981724\n",
      "################################  581  ################################\n",
      "Loss:  0.007922548800706863\n",
      "################################  582  ################################\n",
      "Loss:  0.00786342192441225\n",
      "################################  583  ################################\n",
      "Loss:  0.007802856154739857\n",
      "################################  584  ################################\n",
      "Loss:  0.007745377253741026\n",
      "################################  585  ################################\n",
      "Loss:  0.0076868063770234585\n",
      "################################  586  ################################\n",
      "Loss:  0.007627379149198532\n",
      "################################  587  ################################\n",
      "Loss:  0.00757251912727952\n",
      "################################  588  ################################\n",
      "Loss:  0.0075276438146829605\n",
      "################################  589  ################################\n",
      "Loss:  0.0074821044690907\n",
      "################################  590  ################################\n",
      "Loss:  0.007435203995555639\n",
      "################################  591  ################################\n",
      "Loss:  0.007386852987110615\n",
      "################################  592  ################################\n",
      "Loss:  0.007333589252084494\n",
      "################################  593  ################################\n",
      "Loss:  0.007282286882400513\n",
      "################################  594  ################################\n",
      "Loss:  0.007230149582028389\n",
      "################################  595  ################################\n",
      "Loss:  0.0071802339516580105\n",
      "################################  596  ################################\n",
      "Loss:  0.007130078040063381\n",
      "################################  597  ################################\n",
      "Loss:  0.007078235503286123\n",
      "################################  598  ################################\n",
      "Loss:  0.0070250858552753925\n",
      "################################  599  ################################\n",
      "Loss:  0.006977559067308903\n",
      "################################  600  ################################\n",
      "Loss:  0.006933889351785183\n",
      "################################  601  ################################\n",
      "Loss:  0.006891531404107809\n",
      "################################  602  ################################\n",
      "Loss:  0.0068514421582221985\n",
      "################################  603  ################################\n",
      "Loss:  0.006810004357248545\n",
      "################################  604  ################################\n",
      "Loss:  0.006768158636987209\n",
      "################################  605  ################################\n",
      "Loss:  0.0067241913639009\n",
      "################################  606  ################################\n",
      "Loss:  0.006681523285806179\n",
      "################################  607  ################################\n",
      "Loss:  0.00664055161178112\n",
      "################################  608  ################################\n",
      "Loss:  0.006600972265005112\n",
      "################################  609  ################################\n",
      "Loss:  0.006562883034348488\n",
      "################################  610  ################################\n",
      "Loss:  0.006521876435726881\n",
      "################################  611  ################################\n",
      "Loss:  0.006488008890300989\n",
      "################################  612  ################################\n",
      "Loss:  0.006451323628425598\n",
      "################################  613  ################################\n",
      "Loss:  0.006408304441720247\n",
      "################################  614  ################################\n",
      "Loss:  0.0063638100400567055\n",
      "################################  615  ################################\n",
      "Loss:  0.006317976396530867\n",
      "################################  616  ################################\n",
      "Loss:  0.006270549725741148\n",
      "################################  617  ################################\n",
      "Loss:  0.006222273223102093\n",
      "################################  618  ################################\n",
      "Loss:  0.00617280974984169\n",
      "################################  619  ################################\n",
      "Loss:  0.00612662686035037\n",
      "################################  620  ################################\n",
      "Loss:  0.006081793922930956\n",
      "################################  621  ################################\n",
      "Loss:  0.0060377526096999645\n",
      "################################  622  ################################\n",
      "Loss:  0.005994252860546112\n",
      "################################  623  ################################\n",
      "Loss:  0.005953156854957342\n",
      "################################  624  ################################\n",
      "Loss:  0.00591362314298749\n",
      "################################  625  ################################\n",
      "Loss:  0.0058747949078679085\n",
      "################################  626  ################################\n",
      "Loss:  0.005837047938257456\n",
      "################################  627  ################################\n",
      "Loss:  0.005799541715532541\n",
      "################################  628  ################################\n",
      "Loss:  0.005764178931713104\n",
      "################################  629  ################################\n",
      "Loss:  0.005728019867092371\n",
      "################################  630  ################################\n",
      "Loss:  0.005689638201147318\n",
      "################################  631  ################################\n",
      "Loss:  0.00565299391746521\n",
      "################################  632  ################################\n",
      "Loss:  0.005615417845547199\n",
      "################################  633  ################################\n",
      "Loss:  0.005578539799898863\n",
      "################################  634  ################################\n",
      "Loss:  0.005540398880839348\n",
      "################################  635  ################################\n",
      "Loss:  0.005500502418726683\n",
      "################################  636  ################################\n",
      "Loss:  0.005458795931190252\n",
      "################################  637  ################################\n",
      "Loss:  0.005422167479991913\n",
      "################################  638  ################################\n",
      "Loss:  0.005379950162023306\n",
      "################################  639  ################################\n",
      "Loss:  0.0053350902162492275\n",
      "################################  640  ################################\n",
      "Loss:  0.005288722459226847\n",
      "################################  641  ################################\n",
      "Loss:  0.00524301128461957\n",
      "################################  642  ################################\n",
      "Loss:  0.005194814410060644\n",
      "################################  643  ################################\n",
      "Loss:  0.005145336501300335\n",
      "################################  644  ################################\n",
      "Loss:  0.0050966981798410416\n",
      "################################  645  ################################\n",
      "Loss:  0.005049746483564377\n",
      "################################  646  ################################\n",
      "Loss:  0.005004248581826687\n",
      "################################  647  ################################\n",
      "Loss:  0.004959544166922569\n",
      "################################  648  ################################\n",
      "Loss:  0.004916055593639612\n",
      "################################  649  ################################\n",
      "Loss:  0.004874823614954948\n",
      "################################  650  ################################\n",
      "Loss:  0.004834513179957867\n",
      "################################  651  ################################\n",
      "Loss:  0.00479498878121376\n",
      "################################  652  ################################\n",
      "Loss:  0.004758278373628855\n",
      "################################  653  ################################\n",
      "Loss:  0.004723594523966312\n",
      "################################  654  ################################\n",
      "Loss:  0.004692649934440851\n",
      "################################  655  ################################\n",
      "Loss:  0.004664712119847536\n",
      "################################  656  ################################\n",
      "Loss:  0.004640587605535984\n",
      "################################  657  ################################\n",
      "Loss:  0.004618080798536539\n",
      "################################  658  ################################\n",
      "Loss:  0.004596726968884468\n",
      "################################  659  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.004576115403324366\n",
      "################################  660  ################################\n",
      "Loss:  0.004555573686957359\n",
      "################################  661  ################################\n",
      "Loss:  0.004534755367785692\n",
      "################################  662  ################################\n",
      "Loss:  0.004513774998486042\n",
      "################################  663  ################################\n",
      "Loss:  0.004492556676268578\n",
      "################################  664  ################################\n",
      "Loss:  0.004466833546757698\n",
      "################################  665  ################################\n",
      "Loss:  0.004444499500095844\n",
      "################################  666  ################################\n",
      "Loss:  0.004422035533934832\n",
      "################################  667  ################################\n",
      "Loss:  0.004397569689899683\n",
      "################################  668  ################################\n",
      "Loss:  0.004371983464807272\n",
      "################################  669  ################################\n",
      "Loss:  0.004344756714999676\n",
      "################################  670  ################################\n",
      "Loss:  0.004315502475947142\n",
      "################################  671  ################################\n",
      "Loss:  0.004284876398742199\n",
      "################################  672  ################################\n",
      "Loss:  0.004252504091709852\n",
      "################################  673  ################################\n",
      "Loss:  0.004219124559313059\n",
      "################################  674  ################################\n",
      "Loss:  0.00418366864323616\n",
      "################################  675  ################################\n",
      "Loss:  0.0041446019895374775\n",
      "################################  676  ################################\n",
      "Loss:  0.004106227774173021\n",
      "################################  677  ################################\n",
      "Loss:  0.004073598422110081\n",
      "################################  678  ################################\n",
      "Loss:  0.004041801206767559\n",
      "################################  679  ################################\n",
      "Loss:  0.004006323404610157\n",
      "################################  680  ################################\n",
      "Loss:  0.003962032496929169\n",
      "################################  681  ################################\n",
      "Loss:  0.0039266785606741905\n",
      "################################  682  ################################\n",
      "Loss:  0.0038927767891436815\n",
      "################################  683  ################################\n",
      "Loss:  0.0038596712984144688\n",
      "################################  684  ################################\n",
      "Loss:  0.00382603844627738\n",
      "################################  685  ################################\n",
      "Loss:  0.003792197909206152\n",
      "################################  686  ################################\n",
      "Loss:  0.0037583603989332914\n",
      "################################  687  ################################\n",
      "Loss:  0.0037251177709549665\n",
      "################################  688  ################################\n",
      "Loss:  0.0036927128676325083\n",
      "################################  689  ################################\n",
      "Loss:  0.0036608262453228235\n",
      "################################  690  ################################\n",
      "Loss:  0.003629908198490739\n",
      "################################  691  ################################\n",
      "Loss:  0.003597293049097061\n",
      "################################  692  ################################\n",
      "Loss:  0.0035655642859637737\n",
      "################################  693  ################################\n",
      "Loss:  0.0035384162329137325\n",
      "################################  694  ################################\n",
      "Loss:  0.0035137555096298456\n",
      "################################  695  ################################\n",
      "Loss:  0.0034900596365332603\n",
      "################################  696  ################################\n",
      "Loss:  0.003465581452473998\n",
      "################################  697  ################################\n",
      "Loss:  0.0034421710297465324\n",
      "################################  698  ################################\n",
      "Loss:  0.0034205319825559855\n",
      "################################  699  ################################\n",
      "Loss:  0.0033994109835475683\n",
      "################################  700  ################################\n",
      "Loss:  0.0033782494720071554\n",
      "################################  701  ################################\n",
      "Loss:  0.003356427187100053\n",
      "################################  702  ################################\n",
      "Loss:  0.0033312304876744747\n",
      "################################  703  ################################\n",
      "Loss:  0.003309679916128516\n",
      "################################  704  ################################\n",
      "Loss:  0.0032890611328184605\n",
      "################################  705  ################################\n",
      "Loss:  0.003262018086388707\n",
      "################################  706  ################################\n",
      "Loss:  0.0032391478307545185\n",
      "################################  707  ################################\n",
      "Loss:  0.0032092563342303038\n",
      "################################  708  ################################\n",
      "Loss:  0.003187548601999879\n",
      "################################  709  ################################\n",
      "Loss:  0.0031622243113815784\n",
      "################################  710  ################################\n",
      "Loss:  0.0031370276119560003\n",
      "################################  711  ################################\n",
      "Loss:  0.003112189704552293\n",
      "################################  712  ################################\n",
      "Loss:  0.0030882807914167643\n",
      "################################  713  ################################\n",
      "Loss:  0.0030659411568194628\n",
      "################################  714  ################################\n",
      "Loss:  0.0030452494975179434\n",
      "################################  715  ################################\n",
      "Loss:  0.003026147373020649\n",
      "################################  716  ################################\n",
      "Loss:  0.003008586587384343\n",
      "################################  717  ################################\n",
      "Loss:  0.0029922944959253073\n",
      "################################  718  ################################\n",
      "Loss:  0.002977052005007863\n",
      "################################  719  ################################\n",
      "Loss:  0.0029624386224895716\n",
      "################################  720  ################################\n",
      "Loss:  0.0029479186050593853\n",
      "################################  721  ################################\n",
      "Loss:  0.002934306161478162\n",
      "################################  722  ################################\n",
      "Loss:  0.0029211121145635843\n",
      "################################  723  ################################\n",
      "Loss:  0.0029095178470015526\n",
      "################################  724  ################################\n",
      "Loss:  0.0028973626904189587\n",
      "################################  725  ################################\n",
      "Loss:  0.002883868757635355\n",
      "################################  726  ################################\n",
      "Loss:  0.00287071755155921\n",
      "################################  727  ################################\n",
      "Loss:  0.0028583090752363205\n",
      "################################  728  ################################\n",
      "Loss:  0.0028463450726121664\n",
      "################################  729  ################################\n",
      "Loss:  0.0028343363665044308\n",
      "################################  730  ################################\n",
      "Loss:  0.00282194372266531\n",
      "################################  731  ################################\n",
      "Loss:  0.0028092404827475548\n",
      "################################  732  ################################\n",
      "Loss:  0.002796076936647296\n",
      "################################  733  ################################\n",
      "Loss:  0.0027829359751194715\n",
      "################################  734  ################################\n",
      "Loss:  0.002769741229712963\n",
      "################################  735  ################################\n",
      "Loss:  0.0027565283235162497\n",
      "################################  736  ################################\n",
      "Loss:  0.0027426250744611025\n",
      "################################  737  ################################\n",
      "Loss:  0.002728814957663417\n",
      "################################  738  ################################\n",
      "Loss:  0.00271390238776803\n",
      "################################  739  ################################\n",
      "Loss:  0.0027007374446839094\n",
      "################################  740  ################################\n",
      "Loss:  0.0026869862340390682\n",
      "################################  741  ################################\n",
      "Loss:  0.0026726056821644306\n",
      "################################  742  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.002658705459907651\n",
      "################################  743  ################################\n",
      "Loss:  0.002644643886014819\n",
      "################################  744  ################################\n",
      "Loss:  0.0026308789383620024\n",
      "################################  745  ################################\n",
      "Loss:  0.0026169228367507458\n",
      "################################  746  ################################\n",
      "Loss:  0.0026030836161226034\n",
      "################################  747  ################################\n",
      "Loss:  0.002588694216683507\n",
      "################################  748  ################################\n",
      "Loss:  0.0025748214684426785\n",
      "################################  749  ################################\n",
      "Loss:  0.002560444874688983\n",
      "################################  750  ################################\n",
      "Loss:  0.0025454119313508272\n",
      "################################  751  ################################\n",
      "Loss:  0.002530367113649845\n",
      "################################  752  ################################\n",
      "Loss:  0.0025179656222462654\n",
      "################################  753  ################################\n",
      "Loss:  0.002506223740056157\n",
      "################################  754  ################################\n",
      "Loss:  0.0024946401827037334\n",
      "################################  755  ################################\n",
      "Loss:  0.0024833816569298506\n",
      "################################  756  ################################\n",
      "Loss:  0.002472489606589079\n",
      "################################  757  ################################\n",
      "Loss:  0.002462199190631509\n",
      "################################  758  ################################\n",
      "Loss:  0.002452411688864231\n",
      "################################  759  ################################\n",
      "Loss:  0.002443194855004549\n",
      "################################  760  ################################\n",
      "Loss:  0.002434453694149852\n",
      "################################  761  ################################\n",
      "Loss:  0.002426199149340391\n",
      "################################  762  ################################\n",
      "Loss:  0.0024183550849556923\n",
      "################################  763  ################################\n",
      "Loss:  0.002410890767350793\n",
      "################################  764  ################################\n",
      "Loss:  0.0024035563692450523\n",
      "################################  765  ################################\n",
      "Loss:  0.0023964587599039078\n",
      "################################  766  ################################\n",
      "Loss:  0.002389140659943223\n",
      "################################  767  ################################\n",
      "Loss:  0.002381552942097187\n",
      "################################  768  ################################\n",
      "Loss:  0.0023733386769890785\n",
      "################################  769  ################################\n",
      "Loss:  0.002364515559747815\n",
      "################################  770  ################################\n",
      "Loss:  0.0023553490173071623\n",
      "################################  771  ################################\n",
      "Loss:  0.0023461496457457542\n",
      "################################  772  ################################\n",
      "Loss:  0.0023371786810457706\n",
      "################################  773  ################################\n",
      "Loss:  0.002327125519514084\n",
      "################################  774  ################################\n",
      "Loss:  0.0023170681670308113\n",
      "################################  775  ################################\n",
      "Loss:  0.0023066343273967505\n",
      "################################  776  ################################\n",
      "Loss:  0.002296263352036476\n",
      "################################  777  ################################\n",
      "Loss:  0.002285909606143832\n",
      "################################  778  ################################\n",
      "Loss:  0.00227547949180007\n",
      "################################  779  ################################\n",
      "Loss:  0.002266015624627471\n",
      "################################  780  ################################\n",
      "Loss:  0.0022558781784027815\n",
      "################################  781  ################################\n",
      "Loss:  0.0022468888200819492\n",
      "################################  782  ################################\n",
      "Loss:  0.0022368994541466236\n",
      "################################  783  ################################\n",
      "Loss:  0.0022298714611679316\n",
      "################################  784  ################################\n",
      "Loss:  0.0022222441621124744\n",
      "################################  785  ################################\n",
      "Loss:  0.0022143430542200804\n",
      "################################  786  ################################\n",
      "Loss:  0.0022066528908908367\n",
      "################################  787  ################################\n",
      "Loss:  0.002198762958869338\n",
      "################################  788  ################################\n",
      "Loss:  0.0021910611540079117\n",
      "################################  789  ################################\n",
      "Loss:  0.002182976808398962\n",
      "################################  790  ################################\n",
      "Loss:  0.002174429362639785\n",
      "################################  791  ################################\n",
      "Loss:  0.0021654083393514156\n",
      "################################  792  ################################\n",
      "Loss:  0.0021579349413514137\n",
      "################################  793  ################################\n",
      "Loss:  0.002150057815015316\n",
      "################################  794  ################################\n",
      "Loss:  0.0021416309755295515\n",
      "################################  795  ################################\n",
      "Loss:  0.002133463742211461\n",
      "################################  796  ################################\n",
      "Loss:  0.002124582417309284\n",
      "################################  797  ################################\n",
      "Loss:  0.0021163583733141422\n",
      "################################  798  ################################\n",
      "Loss:  0.0021078812424093485\n",
      "################################  799  ################################\n",
      "Loss:  0.0020986655727028847\n",
      "################################  800  ################################\n",
      "Loss:  0.0020902119576931\n",
      "################################  801  ################################\n",
      "Loss:  0.002081876154989004\n",
      "################################  802  ################################\n",
      "Loss:  0.002073474694043398\n",
      "################################  803  ################################\n",
      "Loss:  0.0020651838276535273\n",
      "################################  804  ################################\n",
      "Loss:  0.002056366764008999\n",
      "################################  805  ################################\n",
      "Loss:  0.002047997433692217\n",
      "################################  806  ################################\n",
      "Loss:  0.0020379195921123028\n",
      "################################  807  ################################\n",
      "Loss:  0.002024044282734394\n",
      "################################  808  ################################\n",
      "Loss:  0.0020145538728684187\n",
      "################################  809  ################################\n",
      "Loss:  0.002002028049901128\n",
      "################################  810  ################################\n",
      "Loss:  0.0019919516053050756\n",
      "################################  811  ################################\n",
      "Loss:  0.0019801377784460783\n",
      "################################  812  ################################\n",
      "Loss:  0.0019667495507746935\n",
      "################################  813  ################################\n",
      "Loss:  0.0019542218651622534\n",
      "################################  814  ################################\n",
      "Loss:  0.0019413484260439873\n",
      "################################  815  ################################\n",
      "Loss:  0.0019282939611002803\n",
      "################################  816  ################################\n",
      "Loss:  0.0019145967671647668\n",
      "################################  817  ################################\n",
      "Loss:  0.0019013708224520087\n",
      "################################  818  ################################\n",
      "Loss:  0.0018881417345255613\n",
      "################################  819  ################################\n",
      "Loss:  0.0018758400110527873\n",
      "################################  820  ################################\n",
      "Loss:  0.0018639029003679752\n",
      "################################  821  ################################\n",
      "Loss:  0.0018530715024098754\n",
      "################################  822  ################################\n",
      "Loss:  0.0018428303301334381\n",
      "################################  823  ################################\n",
      "Loss:  0.0018335379427298903\n",
      "################################  824  ################################\n",
      "Loss:  0.0018246896797791123\n",
      "################################  825  ################################\n",
      "Loss:  0.0018163567874580622\n",
      "################################  826  ################################\n",
      "Loss:  0.0018082224996760488\n",
      "################################  827  ################################\n",
      "Loss:  0.0018006977625191212\n",
      "################################  828  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0017942438134923577\n",
      "################################  829  ################################\n",
      "Loss:  0.0017870181472972035\n",
      "################################  830  ################################\n",
      "Loss:  0.0017806345131248236\n",
      "################################  831  ################################\n",
      "Loss:  0.0017735926667228341\n",
      "################################  832  ################################\n",
      "Loss:  0.0017654671100899577\n",
      "################################  833  ################################\n",
      "Loss:  0.0017583249136805534\n",
      "################################  834  ################################\n",
      "Loss:  0.0017506831791251898\n",
      "################################  835  ################################\n",
      "Loss:  0.0017435053596273065\n",
      "################################  836  ################################\n",
      "Loss:  0.001736955251544714\n",
      "################################  837  ################################\n",
      "Loss:  0.0017301705665886402\n",
      "################################  838  ################################\n",
      "Loss:  0.0017232800601050258\n",
      "################################  839  ################################\n",
      "Loss:  0.0017162504373118281\n",
      "################################  840  ################################\n",
      "Loss:  0.0017088988097384572\n",
      "################################  841  ################################\n",
      "Loss:  0.0017021670937538147\n",
      "################################  842  ################################\n",
      "Loss:  0.0016956212930381298\n",
      "################################  843  ################################\n",
      "Loss:  0.0016893309075385332\n",
      "################################  844  ################################\n",
      "Loss:  0.001682866015471518\n",
      "################################  845  ################################\n",
      "Loss:  0.0016769743524491787\n",
      "################################  846  ################################\n",
      "Loss:  0.0016713808290660381\n",
      "################################  847  ################################\n",
      "Loss:  0.0016656353836879134\n",
      "################################  848  ################################\n",
      "Loss:  0.0016598227666690946\n",
      "################################  849  ################################\n",
      "Loss:  0.0016539465868845582\n",
      "################################  850  ################################\n",
      "Loss:  0.0016480929916724563\n",
      "################################  851  ################################\n",
      "Loss:  0.0016421959735453129\n",
      "################################  852  ################################\n",
      "Loss:  0.001636359840631485\n",
      "################################  853  ################################\n",
      "Loss:  0.0016305194003507495\n",
      "################################  854  ################################\n",
      "Loss:  0.0016245043370872736\n",
      "################################  855  ################################\n",
      "Loss:  0.001618445967324078\n",
      "################################  856  ################################\n",
      "Loss:  0.0016123646637424827\n",
      "################################  857  ################################\n",
      "Loss:  0.0016068455297499895\n",
      "################################  858  ################################\n",
      "Loss:  0.0016015812288969755\n",
      "################################  859  ################################\n",
      "Loss:  0.0015959617448970675\n",
      "################################  860  ################################\n",
      "Loss:  0.0015899627469480038\n",
      "################################  861  ################################\n",
      "Loss:  0.0015835292870178819\n",
      "################################  862  ################################\n",
      "Loss:  0.0015765440184623003\n",
      "################################  863  ################################\n",
      "Loss:  0.0015682699158787727\n",
      "################################  864  ################################\n",
      "Loss:  0.0015612868592143059\n",
      "################################  865  ################################\n",
      "Loss:  0.0015546221984550357\n",
      "################################  866  ################################\n",
      "Loss:  0.0015476434491574764\n",
      "################################  867  ################################\n",
      "Loss:  0.0015403772704303265\n",
      "################################  868  ################################\n",
      "Loss:  0.0015328744193539023\n",
      "################################  869  ################################\n",
      "Loss:  0.0015252166194841266\n",
      "################################  870  ################################\n",
      "Loss:  0.0015175750013440847\n",
      "################################  871  ################################\n",
      "Loss:  0.0015097962459549308\n",
      "################################  872  ################################\n",
      "Loss:  0.0015028773341327906\n",
      "################################  873  ################################\n",
      "Loss:  0.0014959141844883561\n",
      "################################  874  ################################\n",
      "Loss:  0.001488733571022749\n",
      "################################  875  ################################\n",
      "Loss:  0.0014824641402810812\n",
      "################################  876  ################################\n",
      "Loss:  0.0014767132233828306\n",
      "################################  877  ################################\n",
      "Loss:  0.0014712129486724734\n",
      "################################  878  ################################\n",
      "Loss:  0.0014657755382359028\n",
      "################################  879  ################################\n",
      "Loss:  0.0014604957541450858\n",
      "################################  880  ################################\n",
      "Loss:  0.0014548958279192448\n",
      "################################  881  ################################\n",
      "Loss:  0.0014491615584120154\n",
      "################################  882  ################################\n",
      "Loss:  0.0014427329879254103\n",
      "################################  883  ################################\n",
      "Loss:  0.0014374831225723028\n",
      "################################  884  ################################\n",
      "Loss:  0.001430597621947527\n",
      "################################  885  ################################\n",
      "Loss:  0.001426532631739974\n",
      "################################  886  ################################\n",
      "Loss:  0.0014223209582269192\n",
      "################################  887  ################################\n",
      "Loss:  0.0014172247610986233\n",
      "################################  888  ################################\n",
      "Loss:  0.0014117861865088344\n",
      "################################  889  ################################\n",
      "Loss:  0.001406066003255546\n",
      "################################  890  ################################\n",
      "Loss:  0.0014003511751070619\n",
      "################################  891  ################################\n",
      "Loss:  0.001394560094922781\n",
      "################################  892  ################################\n",
      "Loss:  0.0013889410765841603\n",
      "################################  893  ################################\n",
      "Loss:  0.0013832360273227096\n",
      "################################  894  ################################\n",
      "Loss:  0.0013774707913398743\n",
      "################################  895  ################################\n",
      "Loss:  0.001371323480270803\n",
      "################################  896  ################################\n",
      "Loss:  0.0013655707007274032\n",
      "################################  897  ################################\n",
      "Loss:  0.0013598920777440071\n",
      "################################  898  ################################\n",
      "Loss:  0.0013545696856454015\n",
      "################################  899  ################################\n",
      "Loss:  0.0013495299499481916\n",
      "################################  900  ################################\n",
      "Loss:  0.0013441661139950156\n",
      "################################  901  ################################\n",
      "Loss:  0.0013397359289228916\n",
      "################################  902  ################################\n",
      "Loss:  0.001335552311502397\n",
      "################################  903  ################################\n",
      "Loss:  0.0013309369096532464\n",
      "################################  904  ################################\n",
      "Loss:  0.0013269964838400483\n",
      "################################  905  ################################\n",
      "Loss:  0.0013228976167738438\n",
      "################################  906  ################################\n",
      "Loss:  0.0013181943213567138\n",
      "################################  907  ################################\n",
      "Loss:  0.0013140999944880605\n",
      "################################  908  ################################\n",
      "Loss:  0.0013096168404445052\n",
      "################################  909  ################################\n",
      "Loss:  0.0013036933960393071\n",
      "################################  910  ################################\n",
      "Loss:  0.0012998044257983565\n",
      "################################  911  ################################\n",
      "Loss:  0.0012955148704349995\n",
      "################################  912  ################################\n",
      "Loss:  0.0012913013342767954\n",
      "################################  913  ################################\n",
      "Loss:  0.0012874896638095379\n",
      "################################  914  ################################\n",
      "Loss:  0.0012834429508075118\n",
      "################################  915  ################################\n",
      "Loss:  0.0012793472269549966\n",
      "################################  916  ################################\n",
      "Loss:  0.0012752024922519922\n",
      "################################  917  ################################\n",
      "Loss:  0.001270866021513939\n",
      "################################  918  ################################\n",
      "Loss:  0.0012663428205996752\n",
      "################################  919  ################################\n",
      "Loss:  0.0012613884173333645\n",
      "################################  920  ################################\n",
      "Loss:  0.0012567464727908373\n",
      "################################  921  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0012518103467300534\n",
      "################################  922  ################################\n",
      "Loss:  0.0012466015759855509\n",
      "################################  923  ################################\n",
      "Loss:  0.0012410723138600588\n",
      "################################  924  ################################\n",
      "Loss:  0.0012343378039076924\n",
      "################################  925  ################################\n",
      "Loss:  0.0012279701186344028\n",
      "################################  926  ################################\n",
      "Loss:  0.0012210754211992025\n",
      "################################  927  ################################\n",
      "Loss:  0.001214086776599288\n",
      "################################  928  ################################\n",
      "Loss:  0.0012066358467563987\n",
      "################################  929  ################################\n",
      "Loss:  0.0011982240248471498\n",
      "################################  930  ################################\n",
      "Loss:  0.0011891733156517148\n",
      "################################  931  ################################\n",
      "Loss:  0.0011813867604359984\n",
      "################################  932  ################################\n",
      "Loss:  0.0011734194122254848\n",
      "################################  933  ################################\n",
      "Loss:  0.0011657157447189093\n",
      "################################  934  ################################\n",
      "Loss:  0.0011580592254176736\n",
      "################################  935  ################################\n",
      "Loss:  0.0011499742977321148\n",
      "################################  936  ################################\n",
      "Loss:  0.00114164047408849\n",
      "################################  937  ################################\n",
      "Loss:  0.0011342043289914727\n",
      "################################  938  ################################\n",
      "Loss:  0.0011268336093053222\n",
      "################################  939  ################################\n",
      "Loss:  0.001119835302233696\n",
      "################################  940  ################################\n",
      "Loss:  0.001113013830035925\n",
      "################################  941  ################################\n",
      "Loss:  0.001106193638406694\n",
      "################################  942  ################################\n",
      "Loss:  0.0010996341006830335\n",
      "################################  943  ################################\n",
      "Loss:  0.0010932751465588808\n",
      "################################  944  ################################\n",
      "Loss:  0.0010873088613152504\n",
      "################################  945  ################################\n",
      "Loss:  0.0010817389702424407\n",
      "################################  946  ################################\n",
      "Loss:  0.0010762891033664346\n",
      "################################  947  ################################\n",
      "Loss:  0.0010710153728723526\n",
      "################################  948  ################################\n",
      "Loss:  0.0010662742424756289\n",
      "################################  949  ################################\n",
      "Loss:  0.0010616688523441553\n",
      "################################  950  ################################\n",
      "Loss:  0.0010573004838079214\n",
      "################################  951  ################################\n",
      "Loss:  0.0010527593549340963\n",
      "################################  952  ################################\n",
      "Loss:  0.0010478413896635175\n",
      "################################  953  ################################\n",
      "Loss:  0.0010429740650579333\n",
      "################################  954  ################################\n",
      "Loss:  0.001038369257003069\n",
      "################################  955  ################################\n",
      "Loss:  0.001034026499837637\n",
      "################################  956  ################################\n",
      "Loss:  0.0010294398525729775\n",
      "################################  957  ################################\n",
      "Loss:  0.0010244445875287056\n",
      "################################  958  ################################\n",
      "Loss:  0.0010194635251536965\n",
      "################################  959  ################################\n",
      "Loss:  0.0010147439315915108\n",
      "################################  960  ################################\n",
      "Loss:  0.0010100515792146325\n",
      "################################  961  ################################\n",
      "Loss:  0.0010053592268377542\n",
      "################################  962  ################################\n",
      "Loss:  0.00100051611661911\n",
      "################################  963  ################################\n",
      "Loss:  0.0009952953550964594\n",
      "################################  964  ################################\n",
      "Loss:  0.0009894255781546235\n",
      "################################  965  ################################\n",
      "Loss:  0.000984648009762168\n",
      "################################  966  ################################\n",
      "Loss:  0.0009795407531782985\n",
      "################################  967  ################################\n",
      "Loss:  0.0009739709785208106\n",
      "################################  968  ################################\n",
      "Loss:  0.0009683335665613413\n",
      "################################  969  ################################\n",
      "Loss:  0.0009630593121983111\n",
      "################################  970  ################################\n",
      "Loss:  0.0009576529846526682\n",
      "################################  971  ################################\n",
      "Loss:  0.000952179660089314\n",
      "################################  972  ################################\n",
      "Loss:  0.0009465347393415868\n",
      "################################  973  ################################\n",
      "Loss:  0.0009408580954186618\n",
      "################################  974  ################################\n",
      "Loss:  0.0009349521133117378\n",
      "################################  975  ################################\n",
      "Loss:  0.0009296483476646245\n",
      "################################  976  ################################\n",
      "Loss:  0.0009245150140486658\n",
      "################################  977  ################################\n",
      "Loss:  0.0009197073522955179\n",
      "################################  978  ################################\n",
      "Loss:  0.0009150881669484079\n",
      "################################  979  ################################\n",
      "Loss:  0.0009102126350626349\n",
      "################################  980  ################################\n",
      "Loss:  0.000905597407836467\n",
      "################################  981  ################################\n",
      "Loss:  0.0009012638474814594\n",
      "################################  982  ################################\n",
      "Loss:  0.0008968838956207037\n",
      "################################  983  ################################\n",
      "Loss:  0.0008923682617023587\n",
      "################################  984  ################################\n",
      "Loss:  0.000887023750692606\n",
      "################################  985  ################################\n",
      "Loss:  0.0008834252948872745\n",
      "################################  986  ################################\n",
      "Loss:  0.0008795866742730141\n",
      "################################  987  ################################\n",
      "Loss:  0.000875394674949348\n",
      "################################  988  ################################\n",
      "Loss:  0.0008712928392924368\n",
      "################################  989  ################################\n",
      "Loss:  0.0008671725518070161\n",
      "################################  990  ################################\n",
      "Loss:  0.000862687942571938\n",
      "################################  991  ################################\n",
      "Loss:  0.0008579235873185098\n",
      "################################  992  ################################\n",
      "Loss:  0.0008534807129763067\n",
      "################################  993  ################################\n",
      "Loss:  0.0008494037901982665\n",
      "################################  994  ################################\n",
      "Loss:  0.0008451684843748808\n",
      "################################  995  ################################\n",
      "Loss:  0.000840808148495853\n",
      "################################  996  ################################\n",
      "Loss:  0.0008366804686374962\n",
      "################################  997  ################################\n",
      "Loss:  0.0008324693189933896\n",
      "################################  998  ################################\n",
      "Loss:  0.0008285072981379926\n",
      "################################  999  ################################\n",
      "Loss:  0.0008247055811807513\n",
      "################################  1000  ################################\n",
      "Loss:  0.0008210652158595622\n",
      "################################  1001  ################################\n",
      "Loss:  0.0008175374241545796\n",
      "################################  1002  ################################\n",
      "Loss:  0.0008141935686580837\n",
      "################################  1003  ################################\n",
      "Loss:  0.0008111539646051824\n",
      "################################  1004  ################################\n",
      "Loss:  0.0008083287975750864\n",
      "################################  1005  ################################\n",
      "Loss:  0.0008054820355027914\n",
      "################################  1006  ################################\n",
      "Loss:  0.0008025520364753902\n",
      "################################  1007  ################################\n",
      "Loss:  0.0008001570240594447\n",
      "################################  1008  ################################\n",
      "Loss:  0.0007978249923326075\n",
      "################################  1009  ################################\n",
      "Loss:  0.0007955213659442961\n",
      "################################  1010  ################################\n",
      "Loss:  0.0007931345026008785\n",
      "################################  1011  ################################\n",
      "Loss:  0.0007905705715529621\n",
      "################################  1012  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0007878538453951478\n",
      "################################  1013  ################################\n",
      "Loss:  0.0007850256515666842\n",
      "################################  1014  ################################\n",
      "Loss:  0.0007820881437510252\n",
      "################################  1015  ################################\n",
      "Loss:  0.0007790838135406375\n",
      "################################  1016  ################################\n",
      "Loss:  0.0007760252337902784\n",
      "################################  1017  ################################\n",
      "Loss:  0.0007728557684458792\n",
      "################################  1018  ################################\n",
      "Loss:  0.0007694284431636333\n",
      "################################  1019  ################################\n",
      "Loss:  0.0007661916315555573\n",
      "################################  1020  ################################\n",
      "Loss:  0.000762861454859376\n",
      "################################  1021  ################################\n",
      "Loss:  0.0007593699847348034\n",
      "################################  1022  ################################\n",
      "Loss:  0.0007563394028693438\n",
      "################################  1023  ################################\n",
      "Loss:  0.0007532393792644143\n",
      "################################  1024  ################################\n",
      "Loss:  0.0007500319043174386\n",
      "################################  1025  ################################\n",
      "Loss:  0.0007468584808520973\n",
      "################################  1026  ################################\n",
      "Loss:  0.000743685697671026\n",
      "################################  1027  ################################\n",
      "Loss:  0.0007404984207823873\n",
      "################################  1028  ################################\n",
      "Loss:  0.0007372650434263051\n",
      "################################  1029  ################################\n",
      "Loss:  0.0007338991272263229\n",
      "################################  1030  ################################\n",
      "Loss:  0.0007303633610717952\n",
      "################################  1031  ################################\n",
      "Loss:  0.0007274536765180528\n",
      "################################  1032  ################################\n",
      "Loss:  0.0007246934110298753\n",
      "################################  1033  ################################\n",
      "Loss:  0.0007217208039946854\n",
      "################################  1034  ################################\n",
      "Loss:  0.0007186641450971365\n",
      "################################  1035  ################################\n",
      "Loss:  0.0007159599917940795\n",
      "################################  1036  ################################\n",
      "Loss:  0.0007132538012228906\n",
      "################################  1037  ################################\n",
      "Loss:  0.0007107035489752889\n",
      "################################  1038  ################################\n",
      "Loss:  0.0007081324583850801\n",
      "################################  1039  ################################\n",
      "Loss:  0.0007054877351038158\n",
      "################################  1040  ################################\n",
      "Loss:  0.0007029451080597937\n",
      "################################  1041  ################################\n",
      "Loss:  0.0007001948542892933\n",
      "################################  1042  ################################\n",
      "Loss:  0.0006976284785196185\n",
      "################################  1043  ################################\n",
      "Loss:  0.0006943281041458249\n",
      "################################  1044  ################################\n",
      "Loss:  0.0006908104987815022\n",
      "################################  1045  ################################\n",
      "Loss:  0.0006862750742584467\n",
      "################################  1046  ################################\n",
      "Loss:  0.000680695753544569\n",
      "################################  1047  ################################\n",
      "Loss:  0.0006749521126039326\n",
      "################################  1048  ################################\n",
      "Loss:  0.0006687605055049062\n",
      "################################  1049  ################################\n",
      "Loss:  0.0006627773982472718\n",
      "################################  1050  ################################\n",
      "Loss:  0.0006571847479790449\n",
      "################################  1051  ################################\n",
      "Loss:  0.0006517349975183606\n",
      "################################  1052  ################################\n",
      "Loss:  0.000646434084046632\n",
      "################################  1053  ################################\n",
      "Loss:  0.0006413290975615382\n",
      "################################  1054  ################################\n",
      "Loss:  0.0006366339512169361\n",
      "################################  1055  ################################\n",
      "Loss:  0.0006323540001176298\n",
      "################################  1056  ################################\n",
      "Loss:  0.0006282256217673421\n",
      "################################  1057  ################################\n",
      "Loss:  0.0006242361851036549\n",
      "################################  1058  ################################\n",
      "Loss:  0.0006205533863976598\n",
      "################################  1059  ################################\n",
      "Loss:  0.0006173537112772465\n",
      "################################  1060  ################################\n",
      "Loss:  0.0006144684157334268\n",
      "################################  1061  ################################\n",
      "Loss:  0.000611795810982585\n",
      "################################  1062  ################################\n",
      "Loss:  0.0006091945106163621\n",
      "################################  1063  ################################\n",
      "Loss:  0.0006067691720090806\n",
      "################################  1064  ################################\n",
      "Loss:  0.0006044312613084912\n",
      "################################  1065  ################################\n",
      "Loss:  0.0006022032466717064\n",
      "################################  1066  ################################\n",
      "Loss:  0.0006000706925988197\n",
      "################################  1067  ################################\n",
      "Loss:  0.00059797108406201\n",
      "################################  1068  ################################\n",
      "Loss:  0.0005959512200206518\n",
      "################################  1069  ################################\n",
      "Loss:  0.0005938820540904999\n",
      "################################  1070  ################################\n",
      "Loss:  0.0005917815142311156\n",
      "################################  1071  ################################\n",
      "Loss:  0.0005898604867979884\n",
      "################################  1072  ################################\n",
      "Loss:  0.000587841437663883\n",
      "################################  1073  ################################\n",
      "Loss:  0.0005858389777131379\n",
      "################################  1074  ################################\n",
      "Loss:  0.0005836731288582087\n",
      "################################  1075  ################################\n",
      "Loss:  0.0005813301540911198\n",
      "################################  1076  ################################\n",
      "Loss:  0.0005788317648693919\n",
      "################################  1077  ################################\n",
      "Loss:  0.0005763067165389657\n",
      "################################  1078  ################################\n",
      "Loss:  0.000573767872992903\n",
      "################################  1079  ################################\n",
      "Loss:  0.0005709014367312193\n",
      "################################  1080  ################################\n",
      "Loss:  0.0005680930335074663\n",
      "################################  1081  ################################\n",
      "Loss:  0.0005654008709825575\n",
      "################################  1082  ################################\n",
      "Loss:  0.0005627644131891429\n",
      "################################  1083  ################################\n",
      "Loss:  0.0005600989679805934\n",
      "################################  1084  ################################\n",
      "Loss:  0.0005573075031861663\n",
      "################################  1085  ################################\n",
      "Loss:  0.0005543961888179183\n",
      "################################  1086  ################################\n",
      "Loss:  0.0005505266599357128\n",
      "################################  1087  ################################\n",
      "Loss:  0.0005481063271872699\n",
      "################################  1088  ################################\n",
      "Loss:  0.0005455780774354935\n",
      "################################  1089  ################################\n",
      "Loss:  0.0005425357958301902\n",
      "################################  1090  ################################\n",
      "Loss:  0.0005397668574005365\n",
      "################################  1091  ################################\n",
      "Loss:  0.0005367268458940089\n",
      "################################  1092  ################################\n",
      "Loss:  0.000533559184987098\n",
      "################################  1093  ################################\n",
      "Loss:  0.0005301536293700337\n",
      "################################  1094  ################################\n",
      "Loss:  0.0005265169311314821\n",
      "################################  1095  ################################\n",
      "Loss:  0.000522677437402308\n",
      "################################  1096  ################################\n",
      "Loss:  0.0005193753750063479\n",
      "################################  1097  ################################\n",
      "Loss:  0.0005161143490113318\n",
      "################################  1098  ################################\n",
      "Loss:  0.0005125701427459717\n",
      "################################  1099  ################################\n",
      "Loss:  0.0005090981139801443\n",
      "################################  1100  ################################\n",
      "Loss:  0.0005056745721958578\n",
      "################################  1101  ################################\n",
      "Loss:  0.0005022833356633782\n",
      "################################  1102  ################################\n",
      "Loss:  0.0004989625886082649\n",
      "################################  1103  ################################\n",
      "Loss:  0.0004957277560606599\n",
      "################################  1104  ################################\n",
      "Loss:  0.0004926155670545995\n",
      "################################  1105  ################################\n",
      "Loss:  0.0004895702586509287\n",
      "################################  1106  ################################\n",
      "Loss:  0.00048666642396710813\n",
      "################################  1107  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.00048376023187302053\n",
      "################################  1108  ################################\n",
      "Loss:  0.0004808841331396252\n",
      "################################  1109  ################################\n",
      "Loss:  0.0004780327435582876\n",
      "################################  1110  ################################\n",
      "Loss:  0.00047555594937875867\n",
      "################################  1111  ################################\n",
      "Loss:  0.0004731494700536132\n",
      "################################  1112  ################################\n",
      "Loss:  0.00047059435746632516\n",
      "################################  1113  ################################\n",
      "Loss:  0.0004680700658354908\n",
      "################################  1114  ################################\n",
      "Loss:  0.00046537703019566834\n",
      "################################  1115  ################################\n",
      "Loss:  0.00046263649710454047\n",
      "################################  1116  ################################\n",
      "Loss:  0.00045968976337462664\n",
      "################################  1117  ################################\n",
      "Loss:  0.00045657745795324445\n",
      "################################  1118  ################################\n",
      "Loss:  0.00045328898704610765\n",
      "################################  1119  ################################\n",
      "Loss:  0.0004496719629969448\n",
      "################################  1120  ################################\n",
      "Loss:  0.0004460068594198674\n",
      "################################  1121  ################################\n",
      "Loss:  0.00044247027835808694\n",
      "################################  1122  ################################\n",
      "Loss:  0.0004391103284433484\n",
      "################################  1123  ################################\n",
      "Loss:  0.0004355359124019742\n",
      "################################  1124  ################################\n",
      "Loss:  0.00043241633102297783\n",
      "################################  1125  ################################\n",
      "Loss:  0.00042918705730699003\n",
      "################################  1126  ################################\n",
      "Loss:  0.00042620376916602254\n",
      "################################  1127  ################################\n",
      "Loss:  0.0004232539504300803\n",
      "################################  1128  ################################\n",
      "Loss:  0.0004202192067168653\n",
      "################################  1129  ################################\n",
      "Loss:  0.0004173311172053218\n",
      "################################  1130  ################################\n",
      "Loss:  0.00041447055991739035\n",
      "################################  1131  ################################\n",
      "Loss:  0.00041175191290676594\n",
      "################################  1132  ################################\n",
      "Loss:  0.00040898166480474174\n",
      "################################  1133  ################################\n",
      "Loss:  0.0004063155793119222\n",
      "################################  1134  ################################\n",
      "Loss:  0.000403747137170285\n",
      "################################  1135  ################################\n",
      "Loss:  0.00040130133857019246\n",
      "################################  1136  ################################\n",
      "Loss:  0.0003990833938587457\n",
      "################################  1137  ################################\n",
      "Loss:  0.0003966916701756418\n",
      "################################  1138  ################################\n",
      "Loss:  0.0003945652861148119\n",
      "################################  1139  ################################\n",
      "Loss:  0.00039245226071216166\n",
      "################################  1140  ################################\n",
      "Loss:  0.00038994249189272523\n",
      "################################  1141  ################################\n",
      "Loss:  0.00038788883830420673\n",
      "################################  1142  ################################\n",
      "Loss:  0.0003854610549751669\n",
      "################################  1143  ################################\n",
      "Loss:  0.00038289334042929113\n",
      "################################  1144  ################################\n",
      "Loss:  0.00038011313881725073\n",
      "################################  1145  ################################\n",
      "Loss:  0.00037782479193992913\n",
      "################################  1146  ################################\n",
      "Loss:  0.0003752310003619641\n",
      "################################  1147  ################################\n",
      "Loss:  0.00037216406781226397\n",
      "################################  1148  ################################\n",
      "Loss:  0.00036871759220957756\n",
      "################################  1149  ################################\n",
      "Loss:  0.0003655679465737194\n",
      "################################  1150  ################################\n",
      "Loss:  0.0003623469965532422\n",
      "################################  1151  ################################\n",
      "Loss:  0.0003591715358197689\n",
      "################################  1152  ################################\n",
      "Loss:  0.000355976982973516\n",
      "################################  1153  ################################\n",
      "Loss:  0.00035306738573126495\n",
      "################################  1154  ################################\n",
      "Loss:  0.0003503492334857583\n",
      "################################  1155  ################################\n",
      "Loss:  0.00034751289058476686\n",
      "################################  1156  ################################\n",
      "Loss:  0.0003447637427598238\n",
      "################################  1157  ################################\n",
      "Loss:  0.00034220836823806167\n",
      "################################  1158  ################################\n",
      "Loss:  0.00033979807631112635\n",
      "################################  1159  ################################\n",
      "Loss:  0.0003375103115104139\n",
      "################################  1160  ################################\n",
      "Loss:  0.0003352728672325611\n",
      "################################  1161  ################################\n",
      "Loss:  0.00033326586708426476\n",
      "################################  1162  ################################\n",
      "Loss:  0.00033139492734335363\n",
      "################################  1163  ################################\n",
      "Loss:  0.000329616479575634\n",
      "################################  1164  ################################\n",
      "Loss:  0.00032799242762848735\n",
      "################################  1165  ################################\n",
      "Loss:  0.000326423003571108\n",
      "################################  1166  ################################\n",
      "Loss:  0.0003249173751100898\n",
      "################################  1167  ################################\n",
      "Loss:  0.00032348709646612406\n",
      "################################  1168  ################################\n",
      "Loss:  0.0003220688668079674\n",
      "################################  1169  ################################\n",
      "Loss:  0.0003207427216693759\n",
      "################################  1170  ################################\n",
      "Loss:  0.0003194023738615215\n",
      "################################  1171  ################################\n",
      "Loss:  0.00031806755578145385\n",
      "################################  1172  ################################\n",
      "Loss:  0.00031673250487074256\n",
      "################################  1173  ################################\n",
      "Loss:  0.0003152092976961285\n",
      "################################  1174  ################################\n",
      "Loss:  0.0003138282336294651\n",
      "################################  1175  ################################\n",
      "Loss:  0.00031214902992360294\n",
      "################################  1176  ################################\n",
      "Loss:  0.00031051033874973655\n",
      "################################  1177  ################################\n",
      "Loss:  0.0003085856151301414\n",
      "################################  1178  ################################\n",
      "Loss:  0.0003069643280468881\n",
      "################################  1179  ################################\n",
      "Loss:  0.00030496646650135517\n",
      "################################  1180  ################################\n",
      "Loss:  0.00030270946444943547\n",
      "################################  1181  ################################\n",
      "Loss:  0.00030026398599147797\n",
      "################################  1182  ################################\n",
      "Loss:  0.00029757138690911233\n",
      "################################  1183  ################################\n",
      "Loss:  0.0002946635358966887\n",
      "################################  1184  ################################\n",
      "Loss:  0.0002916361263487488\n",
      "################################  1185  ################################\n",
      "Loss:  0.0002889032766688615\n",
      "################################  1186  ################################\n",
      "Loss:  0.0002864086418412626\n",
      "################################  1187  ################################\n",
      "Loss:  0.0002837301872204989\n",
      "################################  1188  ################################\n",
      "Loss:  0.00028123208903707564\n",
      "################################  1189  ################################\n",
      "Loss:  0.00027908277115784585\n",
      "################################  1190  ################################\n",
      "Loss:  0.0002768381964415312\n",
      "################################  1191  ################################\n",
      "Loss:  0.0002749136183410883\n",
      "################################  1192  ################################\n",
      "Loss:  0.00027299526846036315\n",
      "################################  1193  ################################\n",
      "Loss:  0.0002710655389819294\n",
      "################################  1194  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.0002690893888939172\n",
      "################################  1195  ################################\n",
      "Loss:  0.0002671083202585578\n",
      "################################  1196  ################################\n",
      "Loss:  0.00026524055283516645\n",
      "################################  1197  ################################\n",
      "Loss:  0.0002632431860547513\n",
      "################################  1198  ################################\n",
      "Loss:  0.0002614608674775809\n",
      "################################  1199  ################################\n",
      "Loss:  0.0002596798585727811\n",
      "################################  1200  ################################\n",
      "Loss:  0.0002580315340310335\n",
      "################################  1201  ################################\n",
      "Loss:  0.00025641999673098326\n",
      "################################  1202  ################################\n",
      "Loss:  0.00025476200971752405\n",
      "################################  1203  ################################\n",
      "Loss:  0.0002531450882088393\n",
      "################################  1204  ################################\n",
      "Loss:  0.0002515014202799648\n",
      "################################  1205  ################################\n",
      "Loss:  0.0002498771355021745\n",
      "################################  1206  ################################\n",
      "Loss:  0.0002482658892404288\n",
      "################################  1207  ################################\n",
      "Loss:  0.00024664937518537045\n",
      "################################  1208  ################################\n",
      "Loss:  0.0002452020125929266\n",
      "################################  1209  ################################\n",
      "Loss:  0.00024367393052671105\n",
      "################################  1210  ################################\n",
      "Loss:  0.00024232947907876223\n",
      "################################  1211  ################################\n",
      "Loss:  0.00024074048269540071\n",
      "################################  1212  ################################\n",
      "Loss:  0.0002391066518612206\n",
      "################################  1213  ################################\n",
      "Loss:  0.00023746461374685168\n",
      "################################  1214  ################################\n",
      "Loss:  0.00023564760340377688\n",
      "################################  1215  ################################\n",
      "Loss:  0.00023371378483716398\n",
      "################################  1216  ################################\n",
      "Loss:  0.0002317997714271769\n",
      "################################  1217  ################################\n",
      "Loss:  0.00022990287106949836\n",
      "################################  1218  ################################\n",
      "Loss:  0.00022800717852078378\n",
      "################################  1219  ################################\n",
      "Loss:  0.00022615578200202435\n",
      "################################  1220  ################################\n",
      "Loss:  0.0002243323833681643\n",
      "################################  1221  ################################\n",
      "Loss:  0.00022249984613154083\n",
      "################################  1222  ################################\n",
      "Loss:  0.00022071399143896997\n",
      "################################  1223  ################################\n",
      "Loss:  0.00021898864360991865\n",
      "################################  1224  ################################\n",
      "Loss:  0.00021754245972260833\n",
      "################################  1225  ################################\n",
      "Loss:  0.00021601068146992475\n",
      "################################  1226  ################################\n",
      "Loss:  0.00021478573034983128\n",
      "################################  1227  ################################\n",
      "Loss:  0.00021367098088376224\n",
      "################################  1228  ################################\n",
      "Loss:  0.00021253142040222883\n",
      "################################  1229  ################################\n",
      "Loss:  0.00021148519590497017\n",
      "################################  1230  ################################\n",
      "Loss:  0.0002104670857079327\n",
      "################################  1231  ################################\n",
      "Loss:  0.00020947455777786672\n",
      "################################  1232  ################################\n",
      "Loss:  0.00020852610759902745\n",
      "################################  1233  ################################\n",
      "Loss:  0.00020759456674568355\n",
      "################################  1234  ################################\n",
      "Loss:  0.00020668594515882432\n",
      "################################  1235  ################################\n",
      "Loss:  0.00020582994329743087\n",
      "################################  1236  ################################\n",
      "Loss:  0.00020489655435085297\n",
      "################################  1237  ################################\n",
      "Loss:  0.00020411994773894548\n",
      "################################  1238  ################################\n",
      "Loss:  0.00020333155407570302\n",
      "################################  1239  ################################\n",
      "Loss:  0.0002023794804699719\n",
      "################################  1240  ################################\n",
      "Loss:  0.0002014328638324514\n",
      "################################  1241  ################################\n",
      "Loss:  0.0002004119160119444\n",
      "################################  1242  ################################\n",
      "Loss:  0.00019930934649892151\n",
      "################################  1243  ################################\n",
      "Loss:  0.00019814789993688464\n",
      "################################  1244  ################################\n",
      "Loss:  0.0001970154989976436\n",
      "################################  1245  ################################\n",
      "Loss:  0.00019592177704907954\n",
      "################################  1246  ################################\n",
      "Loss:  0.00019471827545203269\n",
      "################################  1247  ################################\n",
      "Loss:  0.00019361288286745548\n",
      "################################  1248  ################################\n",
      "Loss:  0.00019253298523835838\n",
      "################################  1249  ################################\n",
      "Loss:  0.00019140317454002798\n",
      "################################  1250  ################################\n",
      "Loss:  0.00019023986533284187\n",
      "################################  1251  ################################\n",
      "Loss:  0.00018915995315182954\n",
      "################################  1252  ################################\n",
      "Loss:  0.0001880909694591537\n",
      "################################  1253  ################################\n",
      "Loss:  0.00018708380230236799\n",
      "################################  1254  ################################\n",
      "Loss:  0.0001860689662862569\n",
      "################################  1255  ################################\n",
      "Loss:  0.00018520087178330868\n",
      "################################  1256  ################################\n",
      "Loss:  0.00018439078121446073\n",
      "################################  1257  ################################\n",
      "Loss:  0.00018351917969994247\n",
      "################################  1258  ################################\n",
      "Loss:  0.00018261675722897053\n",
      "################################  1259  ################################\n",
      "Loss:  0.0001818701857700944\n",
      "################################  1260  ################################\n",
      "Loss:  0.00018116542196366936\n",
      "################################  1261  ################################\n",
      "Loss:  0.00018044693570118397\n",
      "################################  1262  ################################\n",
      "Loss:  0.00017975515220314264\n",
      "################################  1263  ################################\n",
      "Loss:  0.00017908873269334435\n",
      "################################  1264  ################################\n",
      "Loss:  0.00017842855595517904\n",
      "################################  1265  ################################\n",
      "Loss:  0.00017784030933398753\n",
      "################################  1266  ################################\n",
      "Loss:  0.00017727032536640763\n",
      "################################  1267  ################################\n",
      "Loss:  0.00017672363901510835\n",
      "################################  1268  ################################\n",
      "Loss:  0.00017618156562093645\n",
      "################################  1269  ################################\n",
      "Loss:  0.00017564979498274624\n",
      "################################  1270  ################################\n",
      "Loss:  0.00017512100748717785\n",
      "################################  1271  ################################\n",
      "Loss:  0.00017460151866544038\n",
      "################################  1272  ################################\n",
      "Loss:  0.00017408272833563387\n",
      "################################  1273  ################################\n",
      "Loss:  0.00017354327428620309\n",
      "################################  1274  ################################\n",
      "Loss:  0.00017299236787948757\n",
      "################################  1275  ################################\n",
      "Loss:  0.00017241417663171887\n",
      "################################  1276  ################################\n",
      "Loss:  0.0001718447747407481\n",
      "################################  1277  ################################\n",
      "Loss:  0.00017128628678619862\n",
      "################################  1278  ################################\n",
      "Loss:  0.00017072627088055015\n",
      "################################  1279  ################################\n",
      "Loss:  0.00017019218648783863\n",
      "################################  1280  ################################\n",
      "Loss:  0.0001696519466349855\n",
      "################################  1281  ################################\n",
      "Loss:  0.00016911856073420495\n",
      "################################  1282  ################################\n",
      "Loss:  0.00016858511662576348\n",
      "################################  1283  ################################\n",
      "Loss:  0.00016799928562249988\n",
      "################################  1284  ################################\n",
      "Loss:  0.0001673749793553725\n",
      "################################  1285  ################################\n",
      "Loss:  0.0001668139302637428\n",
      "################################  1286  ################################\n",
      "Loss:  0.00016622565453872085\n",
      "################################  1287  ################################\n",
      "Loss:  0.00016559648793190718\n",
      "################################  1288  ################################\n",
      "Loss:  0.00016494539158884436\n",
      "################################  1289  ################################\n",
      "Loss:  0.00016426695219706744\n",
      "################################  1290  ################################\n",
      "Loss:  0.00016367979696951807\n",
      "################################  1291  ################################\n",
      "Loss:  0.00016308775229845196\n",
      "################################  1292  ################################\n",
      "Loss:  0.00016249631880782545\n",
      "################################  1293  ################################\n",
      "Loss:  0.00016189242887776345\n",
      "################################  1294  ################################\n",
      "Loss:  0.00016128996503539383\n",
      "################################  1295  ################################\n",
      "Loss:  0.0001607447484275326\n",
      "################################  1296  ################################\n",
      "Loss:  0.0001600538962520659\n",
      "################################  1297  ################################\n",
      "Loss:  0.000159580769832246\n",
      "################################  1298  ################################\n",
      "Loss:  0.0001589258317835629\n",
      "################################  1299  ################################\n",
      "Loss:  0.00015814718790352345\n",
      "################################  1300  ################################\n",
      "Loss:  0.00015726924175396562\n",
      "################################  1301  ################################\n",
      "Loss:  0.00015638887998647988\n",
      "################################  1302  ################################\n",
      "Loss:  0.00015541797620244324\n",
      "################################  1303  ################################\n",
      "Loss:  0.00015431357314810157\n",
      "################################  1304  ################################\n",
      "Loss:  0.00015321459795814008\n",
      "################################  1305  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  0.00015208417607937008\n",
      "################################  1306  ################################\n",
      "Loss:  0.00015092141984496266\n",
      "################################  1307  ################################\n",
      "Loss:  0.0001497995835961774\n",
      "################################  1308  ################################\n",
      "Loss:  0.00014869525330141187\n",
      "################################  1309  ################################\n",
      "Loss:  0.00014764934894628823\n",
      "################################  1310  ################################\n",
      "Loss:  0.00014663655019830912\n",
      "################################  1311  ################################\n",
      "Loss:  0.00014563766308128834\n",
      "################################  1312  ################################\n",
      "Loss:  0.0001447660761186853\n",
      "################################  1313  ################################\n",
      "Loss:  0.0001439449260942638\n",
      "################################  1314  ################################\n",
      "Loss:  0.00014325184747576714\n",
      "################################  1315  ################################\n",
      "Loss:  0.00014262627519201487\n",
      "################################  1316  ################################\n",
      "Loss:  0.0001420097833033651\n",
      "################################  1317  ################################\n",
      "Loss:  0.00014141126303002238\n",
      "################################  1318  ################################\n",
      "Loss:  0.00014084071153774858\n",
      "################################  1319  ################################\n",
      "Loss:  0.00014032346371095628\n",
      "################################  1320  ################################\n",
      "Loss:  0.00013981939991936088\n",
      "################################  1321  ################################\n",
      "Loss:  0.00013936561299487948\n",
      "################################  1322  ################################\n",
      "Loss:  0.0001388814125675708\n",
      "################################  1323  ################################\n",
      "Loss:  0.00013840297469869256\n",
      "################################  1324  ################################\n",
      "Loss:  0.00013788432988803834\n",
      "################################  1325  ################################\n",
      "Loss:  0.00013736117398366332\n",
      "################################  1326  ################################\n",
      "Loss:  0.00013682931603398174\n",
      "################################  1327  ################################\n",
      "Loss:  0.00013613418559543788\n",
      "################################  1328  ################################\n",
      "Loss:  0.00013563979882746935\n",
      "################################  1329  ################################\n",
      "Loss:  0.000135076668811962\n",
      "################################  1330  ################################\n",
      "Loss:  0.0001344455376965925\n",
      "################################  1331  ################################\n",
      "Loss:  0.00013379513984546065\n",
      "################################  1332  ################################\n",
      "Loss:  0.00013312259397935122\n",
      "################################  1333  ################################\n",
      "Loss:  0.00013242839486338198\n",
      "################################  1334  ################################\n",
      "Loss:  0.00013171824684832245\n",
      "################################  1335  ################################\n",
      "Loss:  0.0001309918297920376\n",
      "################################  1336  ################################\n",
      "Loss:  0.0001302603486692533\n",
      "################################  1337  ################################\n",
      "Loss:  0.00012952927500009537\n",
      "################################  1338  ################################\n",
      "Loss:  0.00012879262794740498\n",
      "################################  1339  ################################\n",
      "Loss:  0.00012805366714019328\n",
      "################################  1340  ################################\n",
      "Loss:  0.00012738748046103865\n",
      "################################  1341  ################################\n",
      "Loss:  0.00012673746095970273\n",
      "################################  1342  ################################\n",
      "Loss:  0.0001260714780073613\n",
      "################################  1343  ################################\n",
      "Loss:  0.0001254275703104213\n",
      "################################  1344  ################################\n",
      "Loss:  0.0001247726468136534\n",
      "################################  1345  ################################\n",
      "Loss:  0.00012413116928655654\n",
      "################################  1346  ################################\n",
      "Loss:  0.00012355409853626043\n",
      "################################  1347  ################################\n",
      "Loss:  0.0001229635818162933\n",
      "################################  1348  ################################\n",
      "Loss:  0.0001223919098265469\n",
      "################################  1349  ################################\n",
      "Loss:  0.00012180727935628965\n",
      "################################  1350  ################################\n",
      "Loss:  0.00012123627675464377\n",
      "################################  1351  ################################\n",
      "Loss:  0.00012069095100741833\n",
      "################################  1352  ################################\n",
      "Loss:  0.00012011754006380215\n",
      "################################  1353  ################################\n",
      "Loss:  0.00011954662477364764\n",
      "################################  1354  ################################\n",
      "Loss:  0.00011893429473275319\n",
      "################################  1355  ################################\n",
      "Loss:  0.00011842119420180097\n",
      "################################  1356  ################################\n",
      "Loss:  0.00011794852616731077\n",
      "################################  1357  ################################\n",
      "Loss:  0.00011745492520276457\n",
      "################################  1358  ################################\n",
      "Loss:  0.00011698769958456978\n",
      "################################  1359  ################################\n",
      "Loss:  0.00011653941328404471\n",
      "################################  1360  ################################\n",
      "Loss:  0.00011613951210165396\n",
      "################################  1361  ################################\n",
      "Loss:  0.00011577544501051307\n",
      "################################  1362  ################################\n",
      "Loss:  0.00011536334932316095\n",
      "################################  1363  ################################\n",
      "Loss:  0.0001150340904132463\n",
      "################################  1364  ################################\n",
      "Loss:  0.00011463096598163247\n",
      "################################  1365  ################################\n",
      "Loss:  0.00011426636774558574\n",
      "################################  1366  ################################\n",
      "Loss:  0.00011387188715161756\n",
      "################################  1367  ################################\n",
      "Loss:  0.00011349084525136277\n",
      "################################  1368  ################################\n",
      "Loss:  0.00011311349226161838\n",
      "################################  1369  ################################\n",
      "Loss:  0.00011268427624600008\n",
      "################################  1370  ################################\n",
      "Loss:  0.00011228946095798165\n",
      "################################  1371  ################################\n",
      "Loss:  0.0001118829968618229\n",
      "################################  1372  ################################\n",
      "Loss:  0.00011147119221277535\n",
      "################################  1373  ################################\n",
      "Loss:  0.00011106718011433259\n",
      "################################  1374  ################################\n",
      "Loss:  0.00011066513252444565\n",
      "################################  1375  ################################\n",
      "Loss:  0.00011026213906006888\n",
      "################################  1376  ################################\n",
      "Loss:  0.00010988417488988489\n",
      "################################  1377  ################################\n",
      "Loss:  0.00010951581498375162\n",
      "################################  1378  ################################\n",
      "Loss:  0.00010912620200542733\n",
      "################################  1379  ################################\n",
      "Loss:  0.00010875107545871288\n",
      "################################  1380  ################################\n",
      "Loss:  0.00010842047049663961\n",
      "################################  1381  ################################\n",
      "Loss:  0.00010810454114107415\n",
      "################################  1382  ################################\n",
      "Loss:  0.00010780911543406546\n",
      "################################  1383  ################################\n",
      "Loss:  0.00010751739318948239\n",
      "################################  1384  ################################\n",
      "Loss:  0.00010721817670855671\n",
      "################################  1385  ################################\n",
      "Loss:  0.00010690218186937273\n",
      "################################  1386  ################################\n",
      "Loss:  0.00010658791870810091\n",
      "################################  1387  ################################\n",
      "Loss:  0.00010626863513607532\n",
      "################################  1388  ################################\n",
      "Loss:  0.00010597575601423159\n",
      "################################  1389  ################################\n",
      "Loss:  0.00010566101991571486\n",
      "################################  1390  ################################\n",
      "Loss:  0.00010530310100875795\n",
      "################################  1391  ################################\n",
      "Loss:  0.00010491580906091258\n",
      "################################  1392  ################################\n",
      "Loss:  0.00010450756963109598\n",
      "################################  1393  ################################\n",
      "Loss:  0.00010411383846076205\n",
      "################################  1394  ################################\n",
      "Loss:  0.00010372031101724133\n",
      "################################  1395  ################################\n",
      "Loss:  0.00010335148544982076\n",
      "################################  1396  ################################\n",
      "Loss:  0.00010295797255821526\n",
      "################################  1397  ################################\n",
      "Loss:  0.00010255379311274737\n",
      "################################  1398  ################################\n",
      "Loss:  0.00010219668911304325\n",
      "################################  1399  ################################\n",
      "Loss:  0.00010184448183281347\n",
      "################################  1400  ################################\n",
      "Loss:  0.00010147107968805358\n",
      "################################  1401  ################################\n",
      "Loss:  0.00010109981667483225\n",
      "################################  1402  ################################\n",
      "Loss:  0.00010073877638205886\n",
      "################################  1403  ################################\n",
      "Loss:  0.00010038963955594227\n",
      "################################  1404  ################################\n",
      "Loss:  0.00010001157352235168\n",
      "################################  1405  ################################\n",
      "Loss:  9.964626951841637e-05\n",
      "################################  1406  ################################\n",
      "Loss:  9.931425302056596e-05\n",
      "################################  1407  ################################\n",
      "Loss:  9.898502321448177e-05\n",
      "################################  1408  ################################\n",
      "Loss:  9.868218330666423e-05\n",
      "################################  1409  ################################\n",
      "Loss:  9.837140532908961e-05\n",
      "################################  1410  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  9.8068019724451e-05\n",
      "################################  1411  ################################\n",
      "Loss:  9.773904457688332e-05\n",
      "################################  1412  ################################\n",
      "Loss:  9.738466906128451e-05\n",
      "################################  1413  ################################\n",
      "Loss:  9.69652392086573e-05\n",
      "################################  1414  ################################\n",
      "Loss:  9.661643707659096e-05\n",
      "################################  1415  ################################\n",
      "Loss:  9.602950740372762e-05\n",
      "################################  1416  ################################\n",
      "Loss:  9.568609675625339e-05\n",
      "################################  1417  ################################\n",
      "Loss:  9.530722309136763e-05\n",
      "################################  1418  ################################\n",
      "Loss:  9.48626984609291e-05\n",
      "################################  1419  ################################\n",
      "Loss:  9.434553794562817e-05\n",
      "################################  1420  ################################\n",
      "Loss:  9.381464042235166e-05\n",
      "################################  1421  ################################\n",
      "Loss:  9.329192835139111e-05\n",
      "################################  1422  ################################\n",
      "Loss:  9.285377018386498e-05\n",
      "################################  1423  ################################\n",
      "Loss:  9.240120562026277e-05\n",
      "################################  1424  ################################\n",
      "Loss:  9.197136387228966e-05\n",
      "################################  1425  ################################\n",
      "Loss:  9.156049782177433e-05\n",
      "################################  1426  ################################\n",
      "Loss:  9.124226926360279e-05\n",
      "################################  1427  ################################\n",
      "Loss:  9.091697575058788e-05\n",
      "################################  1428  ################################\n",
      "Loss:  9.057223360287026e-05\n",
      "################################  1429  ################################\n",
      "Loss:  9.016188414534554e-05\n",
      "################################  1430  ################################\n",
      "Loss:  8.985221211332828e-05\n",
      "################################  1431  ################################\n",
      "Loss:  8.95717748790048e-05\n",
      "################################  1432  ################################\n",
      "Loss:  8.927930321078748e-05\n",
      "################################  1433  ################################\n",
      "Loss:  8.897946827346459e-05\n",
      "################################  1434  ################################\n",
      "Loss:  8.872450416674837e-05\n",
      "################################  1435  ################################\n",
      "Loss:  8.846680429996923e-05\n",
      "################################  1436  ################################\n",
      "Loss:  8.82045496837236e-05\n",
      "################################  1437  ################################\n",
      "Loss:  8.79374347277917e-05\n",
      "################################  1438  ################################\n",
      "Loss:  8.767666440689936e-05\n",
      "################################  1439  ################################\n",
      "Loss:  8.74131073942408e-05\n",
      "################################  1440  ################################\n",
      "Loss:  8.711931150173768e-05\n",
      "################################  1441  ################################\n",
      "Loss:  8.681923645781353e-05\n",
      "################################  1442  ################################\n",
      "Loss:  8.655958663439378e-05\n",
      "################################  1443  ################################\n",
      "Loss:  8.630283264210448e-05\n",
      "################################  1444  ################################\n",
      "Loss:  8.605334733147174e-05\n",
      "################################  1445  ################################\n",
      "Loss:  8.579967834521085e-05\n",
      "################################  1446  ################################\n",
      "Loss:  8.55730104376562e-05\n",
      "################################  1447  ################################\n",
      "Loss:  8.53491947054863e-05\n",
      "################################  1448  ################################\n",
      "Loss:  8.51071672514081e-05\n",
      "################################  1449  ################################\n",
      "Loss:  8.485958824167028e-05\n",
      "################################  1450  ################################\n",
      "Loss:  8.461412653559819e-05\n",
      "################################  1451  ################################\n",
      "Loss:  8.436720236204565e-05\n",
      "################################  1452  ################################\n",
      "Loss:  8.412008173763752e-05\n",
      "################################  1453  ################################\n",
      "Loss:  8.388151763938367e-05\n",
      "################################  1454  ################################\n",
      "Loss:  8.363475353689864e-05\n",
      "################################  1455  ################################\n",
      "Loss:  8.344501111423597e-05\n",
      "################################  1456  ################################\n",
      "Loss:  8.325408271048218e-05\n",
      "################################  1457  ################################\n",
      "Loss:  8.30512581160292e-05\n",
      "################################  1458  ################################\n",
      "Loss:  8.284760406240821e-05\n",
      "################################  1459  ################################\n",
      "Loss:  8.261228504125029e-05\n",
      "################################  1460  ################################\n",
      "Loss:  8.240051101893187e-05\n",
      "################################  1461  ################################\n",
      "Loss:  8.21956928120926e-05\n",
      "################################  1462  ################################\n",
      "Loss:  8.199210424209014e-05\n",
      "################################  1463  ################################\n",
      "Loss:  8.177119889296591e-05\n",
      "################################  1464  ################################\n",
      "Loss:  8.15516323200427e-05\n",
      "################################  1465  ################################\n",
      "Loss:  8.131905633490533e-05\n",
      "################################  1466  ################################\n",
      "Loss:  8.111017086775973e-05\n",
      "################################  1467  ################################\n",
      "Loss:  8.087525930022821e-05\n",
      "################################  1468  ################################\n",
      "Loss:  8.06178868515417e-05\n",
      "################################  1469  ################################\n",
      "Loss:  8.034373604459688e-05\n",
      "################################  1470  ################################\n",
      "Loss:  8.00533453002572e-05\n",
      "################################  1471  ################################\n",
      "Loss:  7.97273896750994e-05\n",
      "################################  1472  ################################\n",
      "Loss:  7.939893839647993e-05\n",
      "################################  1473  ################################\n",
      "Loss:  7.907893450465053e-05\n",
      "################################  1474  ################################\n",
      "Loss:  7.872001879150048e-05\n",
      "################################  1475  ################################\n",
      "Loss:  7.839722093194723e-05\n",
      "################################  1476  ################################\n",
      "Loss:  7.803311018506065e-05\n",
      "################################  1477  ################################\n",
      "Loss:  7.771389209665358e-05\n",
      "################################  1478  ################################\n",
      "Loss:  7.734325481578708e-05\n",
      "################################  1479  ################################\n",
      "Loss:  7.70321348682046e-05\n",
      "################################  1480  ################################\n",
      "Loss:  7.668962643947452e-05\n",
      "################################  1481  ################################\n",
      "Loss:  7.630326581420377e-05\n",
      "################################  1482  ################################\n",
      "Loss:  7.584212289657444e-05\n",
      "################################  1483  ################################\n",
      "Loss:  7.542136881966144e-05\n",
      "################################  1484  ################################\n",
      "Loss:  7.505121175199747e-05\n",
      "################################  1485  ################################\n",
      "Loss:  7.468410331057385e-05\n",
      "################################  1486  ################################\n",
      "Loss:  7.43428900022991e-05\n",
      "################################  1487  ################################\n",
      "Loss:  7.402625487884507e-05\n",
      "################################  1488  ################################\n",
      "Loss:  7.369247759925202e-05\n",
      "################################  1489  ################################\n",
      "Loss:  7.339754665736109e-05\n",
      "################################  1490  ################################\n",
      "Loss:  7.312256639124826e-05\n",
      "################################  1491  ################################\n",
      "Loss:  7.28426020941697e-05\n",
      "################################  1492  ################################\n",
      "Loss:  7.257900870172307e-05\n",
      "################################  1493  ################################\n",
      "Loss:  7.234583608806133e-05\n",
      "################################  1494  ################################\n",
      "Loss:  7.214531069621444e-05\n",
      "################################  1495  ################################\n",
      "Loss:  7.194062345661223e-05\n",
      "################################  1496  ################################\n",
      "Loss:  7.178075611591339e-05\n",
      "################################  1497  ################################\n",
      "Loss:  7.16164504410699e-05\n",
      "################################  1498  ################################\n",
      "Loss:  7.14171037543565e-05\n",
      "################################  1499  ################################\n",
      "Loss:  7.123382238205522e-05\n",
      "################################  1500  ################################\n",
      "Loss:  7.105952681740746e-05\n",
      "################################  1501  ################################\n",
      "Loss:  7.089079736033455e-05\n",
      "################################  1502  ################################\n",
      "Loss:  7.073891174513847e-05\n",
      "################################  1503  ################################\n",
      "Loss:  7.057157199596986e-05\n",
      "################################  1504  ################################\n",
      "Loss:  7.043076766422018e-05\n",
      "################################  1505  ################################\n",
      "Loss:  7.024304795777425e-05\n",
      "################################  1506  ################################\n",
      "Loss:  7.003993960097432e-05\n",
      "################################  1507  ################################\n",
      "Loss:  6.977488374104723e-05\n",
      "################################  1508  ################################\n",
      "Loss:  6.94715854479e-05\n",
      "################################  1509  ################################\n",
      "Loss:  6.916552229085937e-05\n",
      "################################  1510  ################################\n",
      "Loss:  6.883882451802492e-05\n",
      "################################  1511  ################################\n",
      "Loss:  6.851018406450748e-05\n",
      "################################  1512  ################################\n",
      "Loss:  6.818215479142964e-05\n",
      "################################  1513  ################################\n",
      "Loss:  6.786065932828933e-05\n",
      "################################  1514  ################################\n",
      "Loss:  6.754753121640533e-05\n",
      "################################  1515  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  6.722144462401047e-05\n",
      "################################  1516  ################################\n",
      "Loss:  6.692953320452943e-05\n",
      "################################  1517  ################################\n",
      "Loss:  6.662075611529872e-05\n",
      "################################  1518  ################################\n",
      "Loss:  6.63831306155771e-05\n",
      "################################  1519  ################################\n",
      "Loss:  6.615817983401939e-05\n",
      "################################  1520  ################################\n",
      "Loss:  6.594272417714819e-05\n",
      "################################  1521  ################################\n",
      "Loss:  6.57411728752777e-05\n",
      "################################  1522  ################################\n",
      "Loss:  6.55396725051105e-05\n",
      "################################  1523  ################################\n",
      "Loss:  6.535740976687521e-05\n",
      "################################  1524  ################################\n",
      "Loss:  6.51833470328711e-05\n",
      "################################  1525  ################################\n",
      "Loss:  6.502179894596338e-05\n",
      "################################  1526  ################################\n",
      "Loss:  6.487750943051651e-05\n",
      "################################  1527  ################################\n",
      "Loss:  6.469368236139417e-05\n",
      "################################  1528  ################################\n",
      "Loss:  6.457275594584644e-05\n",
      "################################  1529  ################################\n",
      "Loss:  6.445485632866621e-05\n",
      "################################  1530  ################################\n",
      "Loss:  6.432099326048046e-05\n",
      "################################  1531  ################################\n",
      "Loss:  6.415429379558191e-05\n",
      "################################  1532  ################################\n",
      "Loss:  6.40328653389588e-05\n",
      "################################  1533  ################################\n",
      "Loss:  6.38933852314949e-05\n",
      "################################  1534  ################################\n",
      "Loss:  6.373411451932043e-05\n",
      "################################  1535  ################################\n",
      "Loss:  6.353891512844712e-05\n",
      "################################  1536  ################################\n",
      "Loss:  6.3328530814033e-05\n",
      "################################  1537  ################################\n",
      "Loss:  6.309551827143878e-05\n",
      "################################  1538  ################################\n",
      "Loss:  6.28507841611281e-05\n",
      "################################  1539  ################################\n",
      "Loss:  6.26000328338705e-05\n",
      "################################  1540  ################################\n",
      "Loss:  6.233532621990889e-05\n",
      "################################  1541  ################################\n",
      "Loss:  6.206747639225796e-05\n",
      "################################  1542  ################################\n",
      "Loss:  6.179907359182835e-05\n",
      "################################  1543  ################################\n",
      "Loss:  6.152871355880052e-05\n",
      "################################  1544  ################################\n",
      "Loss:  6.125285290181637e-05\n",
      "################################  1545  ################################\n",
      "Loss:  6.099061283748597e-05\n",
      "################################  1546  ################################\n",
      "Loss:  6.073095937608741e-05\n",
      "################################  1547  ################################\n",
      "Loss:  6.050575393601321e-05\n",
      "################################  1548  ################################\n",
      "Loss:  6.028296775184572e-05\n",
      "################################  1549  ################################\n",
      "Loss:  6.006336479913443e-05\n",
      "################################  1550  ################################\n",
      "Loss:  5.985935058561154e-05\n",
      "################################  1551  ################################\n",
      "Loss:  5.964220690657385e-05\n",
      "################################  1552  ################################\n",
      "Loss:  5.945938391960226e-05\n",
      "################################  1553  ################################\n",
      "Loss:  5.9270078054396436e-05\n",
      "################################  1554  ################################\n",
      "Loss:  5.906986552872695e-05\n",
      "################################  1555  ################################\n",
      "Loss:  5.88642833463382e-05\n",
      "################################  1556  ################################\n",
      "Loss:  5.867661093361676e-05\n",
      "################################  1557  ################################\n",
      "Loss:  5.849413719261065e-05\n",
      "################################  1558  ################################\n",
      "Loss:  5.832186070620082e-05\n",
      "################################  1559  ################################\n",
      "Loss:  5.8171386626781896e-05\n",
      "################################  1560  ################################\n",
      "Loss:  5.8017540141008794e-05\n",
      "################################  1561  ################################\n",
      "Loss:  5.787674308521673e-05\n",
      "################################  1562  ################################\n",
      "Loss:  5.7742890930967405e-05\n",
      "################################  1563  ################################\n",
      "Loss:  5.761143984273076e-05\n",
      "################################  1564  ################################\n",
      "Loss:  5.7487213780405e-05\n",
      "################################  1565  ################################\n",
      "Loss:  5.736477396567352e-05\n",
      "################################  1566  ################################\n",
      "Loss:  5.725530718336813e-05\n",
      "################################  1567  ################################\n",
      "Loss:  5.713926293537952e-05\n",
      "################################  1568  ################################\n",
      "Loss:  5.703871647710912e-05\n",
      "################################  1569  ################################\n",
      "Loss:  5.6923439842648804e-05\n",
      "################################  1570  ################################\n",
      "Loss:  5.678692468791269e-05\n",
      "################################  1571  ################################\n",
      "Loss:  5.665711432811804e-05\n",
      "################################  1572  ################################\n",
      "Loss:  5.652637264574878e-05\n",
      "################################  1573  ################################\n",
      "Loss:  5.640384188154712e-05\n",
      "################################  1574  ################################\n",
      "Loss:  5.6277935073012486e-05\n",
      "################################  1575  ################################\n",
      "Loss:  5.615453846985474e-05\n",
      "################################  1576  ################################\n",
      "Loss:  5.602884994004853e-05\n",
      "################################  1577  ################################\n",
      "Loss:  5.589595093624666e-05\n",
      "################################  1578  ################################\n",
      "Loss:  5.57765961275436e-05\n",
      "################################  1579  ################################\n",
      "Loss:  5.56712802790571e-05\n",
      "################################  1580  ################################\n",
      "Loss:  5.555953975999728e-05\n",
      "################################  1581  ################################\n",
      "Loss:  5.54638791072648e-05\n",
      "################################  1582  ################################\n",
      "Loss:  5.536598837352358e-05\n",
      "################################  1583  ################################\n",
      "Loss:  5.525728192878887e-05\n",
      "################################  1584  ################################\n",
      "Loss:  5.514014992513694e-05\n",
      "################################  1585  ################################\n",
      "Loss:  5.504728324012831e-05\n",
      "################################  1586  ################################\n",
      "Loss:  5.494871948030777e-05\n",
      "################################  1587  ################################\n",
      "Loss:  5.4836611525388435e-05\n",
      "################################  1588  ################################\n",
      "Loss:  5.472262273542583e-05\n",
      "################################  1589  ################################\n",
      "Loss:  5.4598713177256286e-05\n",
      "################################  1590  ################################\n",
      "Loss:  5.448275260278024e-05\n",
      "################################  1591  ################################\n",
      "Loss:  5.4360316426027566e-05\n",
      "################################  1592  ################################\n",
      "Loss:  5.4228898079600185e-05\n",
      "################################  1593  ################################\n",
      "Loss:  5.409631921793334e-05\n",
      "################################  1594  ################################\n",
      "Loss:  5.395538391894661e-05\n",
      "################################  1595  ################################\n",
      "Loss:  5.3825457143830135e-05\n",
      "################################  1596  ################################\n",
      "Loss:  5.368491110857576e-05\n",
      "################################  1597  ################################\n",
      "Loss:  5.3572413889924064e-05\n",
      "################################  1598  ################################\n",
      "Loss:  5.34529572178144e-05\n",
      "################################  1599  ################################\n",
      "Loss:  5.3310148359742016e-05\n",
      "################################  1600  ################################\n",
      "Loss:  5.319218325894326e-05\n",
      "################################  1601  ################################\n",
      "Loss:  5.307522587827407e-05\n",
      "################################  1602  ################################\n",
      "Loss:  5.296360177453607e-05\n",
      "################################  1603  ################################\n",
      "Loss:  5.28488089912571e-05\n",
      "################################  1604  ################################\n",
      "Loss:  5.2733885240741074e-05\n",
      "################################  1605  ################################\n",
      "Loss:  5.262788545223884e-05\n",
      "################################  1606  ################################\n",
      "Loss:  5.2509636589093134e-05\n",
      "################################  1607  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  5.240780956228264e-05\n",
      "################################  1608  ################################\n",
      "Loss:  5.229930320638232e-05\n",
      "################################  1609  ################################\n",
      "Loss:  5.217686702962965e-05\n",
      "################################  1610  ################################\n",
      "Loss:  5.2051404054509476e-05\n",
      "################################  1611  ################################\n",
      "Loss:  5.1925439038313925e-05\n",
      "################################  1612  ################################\n",
      "Loss:  5.1798760978272185e-05\n",
      "################################  1613  ################################\n",
      "Loss:  5.167532799532637e-05\n",
      "################################  1614  ################################\n",
      "Loss:  5.15451974933967e-05\n",
      "################################  1615  ################################\n",
      "Loss:  5.143773523741402e-05\n",
      "################################  1616  ################################\n",
      "Loss:  5.1321054343134165e-05\n",
      "################################  1617  ################################\n",
      "Loss:  5.119726847624406e-05\n",
      "################################  1618  ################################\n",
      "Loss:  5.107087781652808e-05\n",
      "################################  1619  ################################\n",
      "Loss:  5.094775042380206e-05\n",
      "################################  1620  ################################\n",
      "Loss:  5.082108691567555e-05\n",
      "################################  1621  ################################\n",
      "Loss:  5.0700251449598e-05\n",
      "################################  1622  ################################\n",
      "Loss:  5.056954614701681e-05\n",
      "################################  1623  ################################\n",
      "Loss:  5.041226540924981e-05\n",
      "################################  1624  ################################\n",
      "Loss:  5.023715493734926e-05\n",
      "################################  1625  ################################\n",
      "Loss:  5.008122025174089e-05\n",
      "################################  1626  ################################\n",
      "Loss:  4.9933652917388827e-05\n",
      "################################  1627  ################################\n",
      "Loss:  4.978767174179666e-05\n",
      "################################  1628  ################################\n",
      "Loss:  4.9654867325443774e-05\n",
      "################################  1629  ################################\n",
      "Loss:  4.951887240167707e-05\n",
      "################################  1630  ################################\n",
      "Loss:  4.939742211718112e-05\n",
      "################################  1631  ################################\n",
      "Loss:  4.929033457301557e-05\n",
      "################################  1632  ################################\n",
      "Loss:  4.9181024223798886e-05\n",
      "################################  1633  ################################\n",
      "Loss:  4.907439142698422e-05\n",
      "################################  1634  ################################\n",
      "Loss:  4.897870167042129e-05\n",
      "################################  1635  ################################\n",
      "Loss:  4.889818956144154e-05\n",
      "################################  1636  ################################\n",
      "Loss:  4.8822617827681825e-05\n",
      "################################  1637  ################################\n",
      "Loss:  4.875332524534315e-05\n",
      "################################  1638  ################################\n",
      "Loss:  4.868387622991577e-05\n",
      "################################  1639  ################################\n",
      "Loss:  4.861932393396273e-05\n",
      "################################  1640  ################################\n",
      "Loss:  4.855612860410474e-05\n",
      "################################  1641  ################################\n",
      "Loss:  4.849467586609535e-05\n",
      "################################  1642  ################################\n",
      "Loss:  4.842664202442393e-05\n",
      "################################  1643  ################################\n",
      "Loss:  4.8350801080232486e-05\n",
      "################################  1644  ################################\n",
      "Loss:  4.827281372854486e-05\n",
      "################################  1645  ################################\n",
      "Loss:  4.81959359603934e-05\n",
      "################################  1646  ################################\n",
      "Loss:  4.8119734856300056e-05\n",
      "################################  1647  ################################\n",
      "Loss:  4.8023764975368977e-05\n",
      "################################  1648  ################################\n",
      "Loss:  4.794256528839469e-05\n",
      "################################  1649  ################################\n",
      "Loss:  4.784563134307973e-05\n",
      "################################  1650  ################################\n",
      "Loss:  4.7747067583259195e-05\n",
      "################################  1651  ################################\n",
      "Loss:  4.762646130984649e-05\n",
      "################################  1652  ################################\n",
      "Loss:  4.752562381327152e-05\n",
      "################################  1653  ################################\n",
      "Loss:  4.7412540880031884e-05\n",
      "################################  1654  ################################\n",
      "Loss:  4.729134889203124e-05\n",
      "################################  1655  ################################\n",
      "Loss:  4.7173230996122584e-05\n",
      "################################  1656  ################################\n",
      "Loss:  4.7046640247572213e-05\n",
      "################################  1657  ################################\n",
      "Loss:  4.693156370194629e-05\n",
      "################################  1658  ################################\n",
      "Loss:  4.679386256611906e-05\n",
      "################################  1659  ################################\n",
      "Loss:  4.6675435442011803e-05\n",
      "################################  1660  ################################\n",
      "Loss:  4.6531818952644244e-05\n",
      "################################  1661  ################################\n",
      "Loss:  4.639269900508225e-05\n",
      "################################  1662  ################################\n",
      "Loss:  4.626180088962428e-05\n",
      "################################  1663  ################################\n",
      "Loss:  4.6123223000904545e-05\n",
      "################################  1664  ################################\n",
      "Loss:  4.6001772716408595e-05\n",
      "################################  1665  ################################\n",
      "Loss:  4.5868790039094165e-05\n",
      "################################  1666  ################################\n",
      "Loss:  4.575816637952812e-05\n",
      "################################  1667  ################################\n",
      "Loss:  4.5625649363501e-05\n",
      "################################  1668  ################################\n",
      "Loss:  4.552025711745955e-05\n",
      "################################  1669  ################################\n",
      "Loss:  4.53995235147886e-05\n",
      "################################  1670  ################################\n",
      "Loss:  4.524083124124445e-05\n",
      "################################  1671  ################################\n",
      "Loss:  4.513715612119995e-05\n",
      "################################  1672  ################################\n",
      "Loss:  4.5020704419584945e-05\n",
      "################################  1673  ################################\n",
      "Loss:  4.48868922831025e-05\n",
      "################################  1674  ################################\n",
      "Loss:  4.476656613405794e-05\n",
      "################################  1675  ################################\n",
      "Loss:  4.46570229541976e-05\n",
      "################################  1676  ################################\n",
      "Loss:  4.453415021998808e-05\n",
      "################################  1677  ################################\n",
      "Loss:  4.443760190042667e-05\n",
      "################################  1678  ################################\n",
      "Loss:  4.43225035269279e-05\n",
      "################################  1679  ################################\n",
      "Loss:  4.420726327225566e-05\n",
      "################################  1680  ################################\n",
      "Loss:  4.408507811604068e-05\n",
      "################################  1681  ################################\n",
      "Loss:  4.3980304326396435e-05\n",
      "################################  1682  ################################\n",
      "Loss:  4.3877516873180866e-05\n",
      "################################  1683  ################################\n",
      "Loss:  4.375935532152653e-05\n",
      "################################  1684  ################################\n",
      "Loss:  4.365375207271427e-05\n",
      "################################  1685  ################################\n",
      "Loss:  4.351217648945749e-05\n",
      "################################  1686  ################################\n",
      "Loss:  4.3391155486460775e-05\n",
      "################################  1687  ################################\n",
      "Loss:  4.323572284192778e-05\n",
      "################################  1688  ################################\n",
      "Loss:  4.311188240535557e-05\n",
      "################################  1689  ################################\n",
      "Loss:  4.297926716390066e-05\n",
      "################################  1690  ################################\n",
      "Loss:  4.2823732655961066e-05\n",
      "################################  1691  ################################\n",
      "Loss:  4.268360498826951e-05\n",
      "################################  1692  ################################\n",
      "Loss:  4.2529562051640823e-05\n",
      "################################  1693  ################################\n",
      "Loss:  4.235911546857096e-05\n",
      "################################  1694  ################################\n",
      "Loss:  4.218308822601102e-05\n",
      "################################  1695  ################################\n",
      "Loss:  4.2023908463306725e-05\n",
      "################################  1696  ################################\n",
      "Loss:  4.186281148577109e-05\n",
      "################################  1697  ################################\n",
      "Loss:  4.1718340071383864e-05\n",
      "################################  1698  ################################\n",
      "Loss:  4.1578863601898775e-05\n",
      "################################  1699  ################################\n",
      "Loss:  4.144799095229246e-05\n",
      "################################  1700  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  4.133315815124661e-05\n",
      "################################  1701  ################################\n",
      "Loss:  4.120771336602047e-05\n",
      "################################  1702  ################################\n",
      "Loss:  4.111019734409638e-05\n",
      "################################  1703  ################################\n",
      "Loss:  4.10053544328548e-05\n",
      "################################  1704  ################################\n",
      "Loss:  4.08812629757449e-05\n",
      "################################  1705  ################################\n",
      "Loss:  4.074315438629128e-05\n",
      "################################  1706  ################################\n",
      "Loss:  4.061890285811387e-05\n",
      "################################  1707  ################################\n",
      "Loss:  4.0493643609806895e-05\n",
      "################################  1708  ################################\n",
      "Loss:  4.037890175823122e-05\n",
      "################################  1709  ################################\n",
      "Loss:  4.0255959902424365e-05\n",
      "################################  1710  ################################\n",
      "Loss:  4.012069257441908e-05\n",
      "################################  1711  ################################\n",
      "Loss:  3.998088141088374e-05\n",
      "################################  1712  ################################\n",
      "Loss:  3.9845053834142163e-05\n",
      "################################  1713  ################################\n",
      "Loss:  3.971194018959068e-05\n",
      "################################  1714  ################################\n",
      "Loss:  3.9572441892232746e-05\n",
      "################################  1715  ################################\n",
      "Loss:  3.9443348214263096e-05\n",
      "################################  1716  ################################\n",
      "Loss:  3.9307302358793095e-05\n",
      "################################  1717  ################################\n",
      "Loss:  3.917476351489313e-05\n",
      "################################  1718  ################################\n",
      "Loss:  3.9049329643603414e-05\n",
      "################################  1719  ################################\n",
      "Loss:  3.892992026521824e-05\n",
      "################################  1720  ################################\n",
      "Loss:  3.882332384819165e-05\n",
      "################################  1721  ################################\n",
      "Loss:  3.8710561057087034e-05\n",
      "################################  1722  ################################\n",
      "Loss:  3.861932782456279e-05\n",
      "################################  1723  ################################\n",
      "Loss:  3.8531405152752995e-05\n",
      "################################  1724  ################################\n",
      "Loss:  3.8439477066276595e-05\n",
      "################################  1725  ################################\n",
      "Loss:  3.834264862234704e-05\n",
      "################################  1726  ################################\n",
      "Loss:  3.82582911697682e-05\n",
      "################################  1727  ################################\n",
      "Loss:  3.8170357584021986e-05\n",
      "################################  1728  ################################\n",
      "Loss:  3.806890163104981e-05\n",
      "################################  1729  ################################\n",
      "Loss:  3.796970850089565e-05\n",
      "################################  1730  ################################\n",
      "Loss:  3.7874844565521926e-05\n",
      "################################  1731  ################################\n",
      "Loss:  3.778471000259742e-05\n",
      "################################  1732  ################################\n",
      "Loss:  3.7704849091824144e-05\n",
      "################################  1733  ################################\n",
      "Loss:  3.7630208680639043e-05\n",
      "################################  1734  ################################\n",
      "Loss:  3.755802754312754e-05\n",
      "################################  1735  ################################\n",
      "Loss:  3.74912160623353e-05\n",
      "################################  1736  ################################\n",
      "Loss:  3.742489207070321e-05\n",
      "################################  1737  ################################\n",
      "Loss:  3.735791324288584e-05\n",
      "################################  1738  ################################\n",
      "Loss:  3.729735180968419e-05\n",
      "################################  1739  ################################\n",
      "Loss:  3.724029738805257e-05\n",
      "################################  1740  ################################\n",
      "Loss:  3.718677180586383e-05\n",
      "################################  1741  ################################\n",
      "Loss:  3.713629121193662e-05\n",
      "################################  1742  ################################\n",
      "Loss:  3.708405347424559e-05\n",
      "################################  1743  ################################\n",
      "Loss:  3.703265974763781e-05\n",
      "################################  1744  ################################\n",
      "Loss:  3.6977322452003136e-05\n",
      "################################  1745  ################################\n",
      "Loss:  3.692229074658826e-05\n",
      "################################  1746  ################################\n",
      "Loss:  3.6856312362942845e-05\n",
      "################################  1747  ################################\n",
      "Loss:  3.6789941077586263e-05\n",
      "################################  1748  ################################\n",
      "Loss:  3.6695444578072056e-05\n",
      "################################  1749  ################################\n",
      "Loss:  3.661360824480653e-05\n",
      "################################  1750  ################################\n",
      "Loss:  3.651113365776837e-05\n",
      "################################  1751  ################################\n",
      "Loss:  3.638848284026608e-05\n",
      "################################  1752  ################################\n",
      "Loss:  3.626084071584046e-05\n",
      "################################  1753  ################################\n",
      "Loss:  3.613091030274518e-05\n",
      "################################  1754  ################################\n",
      "Loss:  3.5994627978652716e-05\n",
      "################################  1755  ################################\n",
      "Loss:  3.5855853639077395e-05\n",
      "################################  1756  ################################\n",
      "Loss:  3.5720608138944954e-05\n",
      "################################  1757  ################################\n",
      "Loss:  3.557821401045658e-05\n",
      "################################  1758  ################################\n",
      "Loss:  3.545564686646685e-05\n",
      "################################  1759  ################################\n",
      "Loss:  3.5324770578881726e-05\n",
      "################################  1760  ################################\n",
      "Loss:  3.51808121195063e-05\n",
      "################################  1761  ################################\n",
      "Loss:  3.5026558180106804e-05\n",
      "################################  1762  ################################\n",
      "Loss:  3.48946159647312e-05\n",
      "################################  1763  ################################\n",
      "Loss:  3.4759228583425283e-05\n",
      "################################  1764  ################################\n",
      "Loss:  3.463395114522427e-05\n",
      "################################  1765  ################################\n",
      "Loss:  3.451318116276525e-05\n",
      "################################  1766  ################################\n",
      "Loss:  3.437266423134133e-05\n",
      "################################  1767  ################################\n",
      "Loss:  3.426746843615547e-05\n",
      "################################  1768  ################################\n",
      "Loss:  3.4159358619945124e-05\n",
      "################################  1769  ################################\n",
      "Loss:  3.402539005037397e-05\n",
      "################################  1770  ################################\n",
      "Loss:  3.3918684493983164e-05\n",
      "################################  1771  ################################\n",
      "Loss:  3.3811644243542105e-05\n",
      "################################  1772  ################################\n",
      "Loss:  3.3688982512103394e-05\n",
      "################################  1773  ################################\n",
      "Loss:  3.357516470714472e-05\n",
      "################################  1774  ################################\n",
      "Loss:  3.346687299199402e-05\n",
      "################################  1775  ################################\n",
      "Loss:  3.3350712328683585e-05\n",
      "################################  1776  ################################\n",
      "Loss:  3.32243180309888e-05\n",
      "################################  1777  ################################\n",
      "Loss:  3.309096791781485e-05\n",
      "################################  1778  ################################\n",
      "Loss:  3.2963558624032885e-05\n",
      "################################  1779  ################################\n",
      "Loss:  3.282587567809969e-05\n",
      "################################  1780  ################################\n",
      "Loss:  3.269466105848551e-05\n",
      "################################  1781  ################################\n",
      "Loss:  3.2541942346142605e-05\n",
      "################################  1782  ################################\n",
      "Loss:  3.2407097023678944e-05\n",
      "################################  1783  ################################\n",
      "Loss:  3.227023626095615e-05\n",
      "################################  1784  ################################\n",
      "Loss:  3.2121341064339504e-05\n",
      "################################  1785  ################################\n",
      "Loss:  3.1987216061679646e-05\n",
      "################################  1786  ################################\n",
      "Loss:  3.1818795832805336e-05\n",
      "################################  1787  ################################\n",
      "Loss:  3.1676518119638786e-05\n",
      "################################  1788  ################################\n",
      "Loss:  3.152380304527469e-05\n",
      "################################  1789  ################################\n",
      "Loss:  3.1347368349088356e-05\n",
      "################################  1790  ################################\n",
      "Loss:  3.120638939435594e-05\n",
      "################################  1791  ################################\n",
      "Loss:  3.105886571574956e-05\n",
      "################################  1792  ################################\n",
      "Loss:  3.090338941547088e-05\n",
      "################################  1793  ################################\n",
      "Loss:  3.075470885960385e-05\n",
      "################################  1794  ################################\n",
      "Loss:  3.060968083445914e-05\n",
      "################################  1795  ################################\n",
      "Loss:  3.0468918339465745e-05\n",
      "################################  1796  ################################\n",
      "Loss:  3.033303983102087e-05\n",
      "################################  1797  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  3.0205123039195314e-05\n",
      "################################  1798  ################################\n",
      "Loss:  3.0082584999036044e-05\n",
      "################################  1799  ################################\n",
      "Loss:  2.998144191224128e-05\n",
      "################################  1800  ################################\n",
      "Loss:  2.9872022423660383e-05\n",
      "################################  1801  ################################\n",
      "Loss:  2.9780017939629033e-05\n",
      "################################  1802  ################################\n",
      "Loss:  2.9669516152353026e-05\n",
      "################################  1803  ################################\n",
      "Loss:  2.958046388812363e-05\n",
      "################################  1804  ################################\n",
      "Loss:  2.9488082873285748e-05\n",
      "################################  1805  ################################\n",
      "Loss:  2.938368015747983e-05\n",
      "################################  1806  ################################\n",
      "Loss:  2.926391789515037e-05\n",
      "################################  1807  ################################\n",
      "Loss:  2.915462937380653e-05\n",
      "################################  1808  ################################\n",
      "Loss:  2.904740540543571e-05\n",
      "################################  1809  ################################\n",
      "Loss:  2.891812073357869e-05\n",
      "################################  1810  ################################\n",
      "Loss:  2.882017543015536e-05\n",
      "################################  1811  ################################\n",
      "Loss:  2.871055039577186e-05\n",
      "################################  1812  ################################\n",
      "Loss:  2.860102176782675e-05\n",
      "################################  1813  ################################\n",
      "Loss:  2.848589065251872e-05\n",
      "################################  1814  ################################\n",
      "Loss:  2.839260378095787e-05\n",
      "################################  1815  ################################\n",
      "Loss:  2.829674667736981e-05\n",
      "################################  1816  ################################\n",
      "Loss:  2.819605651893653e-05\n",
      "################################  1817  ################################\n",
      "Loss:  2.8093203582102433e-05\n",
      "################################  1818  ################################\n",
      "Loss:  2.8008029403281398e-05\n",
      "################################  1819  ################################\n",
      "Loss:  2.7928241252084263e-05\n",
      "################################  1820  ################################\n",
      "Loss:  2.7846395823871717e-05\n",
      "################################  1821  ################################\n",
      "Loss:  2.7767106075771153e-05\n",
      "################################  1822  ################################\n",
      "Loss:  2.7692422008840367e-05\n",
      "################################  1823  ################################\n",
      "Loss:  2.762351323326584e-05\n",
      "################################  1824  ################################\n",
      "Loss:  2.756242611212656e-05\n",
      "################################  1825  ################################\n",
      "Loss:  2.750652674876619e-05\n",
      "################################  1826  ################################\n",
      "Loss:  2.7451016649138182e-05\n",
      "################################  1827  ################################\n",
      "Loss:  2.739555566222407e-05\n",
      "################################  1828  ################################\n",
      "Loss:  2.734850932029076e-05\n",
      "################################  1829  ################################\n",
      "Loss:  2.730480264290236e-05\n",
      "################################  1830  ################################\n",
      "Loss:  2.7257770852884278e-05\n",
      "################################  1831  ################################\n",
      "Loss:  2.72133056569146e-05\n",
      "################################  1832  ################################\n",
      "Loss:  2.7166945073986426e-05\n",
      "################################  1833  ################################\n",
      "Loss:  2.7117106583318673e-05\n",
      "################################  1834  ################################\n",
      "Loss:  2.707252679101657e-05\n",
      "################################  1835  ################################\n",
      "Loss:  2.702761412365362e-05\n",
      "################################  1836  ################################\n",
      "Loss:  2.6986002922058105e-05\n",
      "################################  1837  ################################\n",
      "Loss:  2.694315480766818e-05\n",
      "################################  1838  ################################\n",
      "Loss:  2.6897461793851107e-05\n",
      "################################  1839  ################################\n",
      "Loss:  2.6853696908801794e-05\n",
      "################################  1840  ################################\n",
      "Loss:  2.6805430024978705e-05\n",
      "################################  1841  ################################\n",
      "Loss:  2.676254734979011e-05\n",
      "################################  1842  ################################\n",
      "Loss:  2.672057416930329e-05\n",
      "################################  1843  ################################\n",
      "Loss:  2.6674808395910077e-05\n",
      "################################  1844  ################################\n",
      "Loss:  2.6631789296516217e-05\n",
      "################################  1845  ################################\n",
      "Loss:  2.6587294996716082e-05\n",
      "################################  1846  ################################\n",
      "Loss:  2.6542646082816646e-05\n",
      "################################  1847  ################################\n",
      "Loss:  2.6495235943002626e-05\n",
      "################################  1848  ################################\n",
      "Loss:  2.6446661649970338e-05\n",
      "################################  1849  ################################\n",
      "Loss:  2.6393046937300824e-05\n",
      "################################  1850  ################################\n",
      "Loss:  2.6333726054872386e-05\n",
      "################################  1851  ################################\n",
      "Loss:  2.6278778022970073e-05\n",
      "################################  1852  ################################\n",
      "Loss:  2.6210960641037673e-05\n",
      "################################  1853  ################################\n",
      "Loss:  2.6152973077842034e-05\n",
      "################################  1854  ################################\n",
      "Loss:  2.6092897314811125e-05\n",
      "################################  1855  ################################\n",
      "Loss:  2.6031593733932823e-05\n",
      "################################  1856  ################################\n",
      "Loss:  2.59747430391144e-05\n",
      "################################  1857  ################################\n",
      "Loss:  2.5911207558237948e-05\n",
      "################################  1858  ################################\n",
      "Loss:  2.586027403594926e-05\n",
      "################################  1859  ################################\n",
      "Loss:  2.5799401555559598e-05\n",
      "################################  1860  ################################\n",
      "Loss:  2.5729412300279364e-05\n",
      "################################  1861  ################################\n",
      "Loss:  2.564989154052455e-05\n",
      "################################  1862  ################################\n",
      "Loss:  2.5588351491023786e-05\n",
      "################################  1863  ################################\n",
      "Loss:  2.5525279852445237e-05\n",
      "################################  1864  ################################\n",
      "Loss:  2.5455117793171667e-05\n",
      "################################  1865  ################################\n",
      "Loss:  2.5392120733158663e-05\n",
      "################################  1866  ################################\n",
      "Loss:  2.532917096687015e-05\n",
      "################################  1867  ################################\n",
      "Loss:  2.5267418095609173e-05\n",
      "################################  1868  ################################\n",
      "Loss:  2.5212471882696263e-05\n",
      "################################  1869  ################################\n",
      "Loss:  2.516216045478359e-05\n",
      "################################  1870  ################################\n",
      "Loss:  2.5114728487096727e-05\n",
      "################################  1871  ################################\n",
      "Loss:  2.5066645321203396e-05\n",
      "################################  1872  ################################\n",
      "Loss:  2.5017538064275868e-05\n",
      "################################  1873  ################################\n",
      "Loss:  2.4961758754216135e-05\n",
      "################################  1874  ################################\n",
      "Loss:  2.491641862434335e-05\n",
      "################################  1875  ################################\n",
      "Loss:  2.4872786525520496e-05\n",
      "################################  1876  ################################\n",
      "Loss:  2.4824219508445822e-05\n",
      "################################  1877  ################################\n",
      "Loss:  2.4778319129836746e-05\n",
      "################################  1878  ################################\n",
      "Loss:  2.4730927179916762e-05\n",
      "################################  1879  ################################\n",
      "Loss:  2.4675628083059564e-05\n",
      "################################  1880  ################################\n",
      "Loss:  2.4623206627438776e-05\n",
      "################################  1881  ################################\n",
      "Loss:  2.4576682335464284e-05\n",
      "################################  1882  ################################\n",
      "Loss:  2.452859735058155e-05\n",
      "################################  1883  ################################\n",
      "Loss:  2.4483666493324563e-05\n",
      "################################  1884  ################################\n",
      "Loss:  2.4440520064672455e-05\n",
      "################################  1885  ################################\n",
      "Loss:  2.4395660148002207e-05\n",
      "################################  1886  ################################\n",
      "Loss:  2.4350063540623523e-05\n",
      "################################  1887  ################################\n",
      "Loss:  2.430753011140041e-05\n",
      "################################  1888  ################################\n",
      "Loss:  2.4259890778921545e-05\n",
      "################################  1889  ################################\n",
      "Loss:  2.4221730200224556e-05\n",
      "################################  1890  ################################\n",
      "Loss:  2.418342774035409e-05\n",
      "################################  1891  ################################\n",
      "Loss:  2.4139055312843993e-05\n",
      "################################  1892  ################################\n",
      "Loss:  2.4098158974084072e-05\n",
      "################################  1893  ################################\n",
      "Loss:  2.4053591914707795e-05\n",
      "################################  1894  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  2.4002394638955593e-05\n",
      "################################  1895  ################################\n",
      "Loss:  2.394198781985324e-05\n",
      "################################  1896  ################################\n",
      "Loss:  2.3902455723145977e-05\n",
      "################################  1897  ################################\n",
      "Loss:  2.3859358407207765e-05\n",
      "################################  1898  ################################\n",
      "Loss:  2.381131889706012e-05\n",
      "################################  1899  ################################\n",
      "Loss:  2.376609882048797e-05\n",
      "################################  1900  ################################\n",
      "Loss:  2.371863774897065e-05\n",
      "################################  1901  ################################\n",
      "Loss:  2.3674103431403637e-05\n",
      "################################  1902  ################################\n",
      "Loss:  2.3631284420844167e-05\n",
      "################################  1903  ################################\n",
      "Loss:  2.3588996555190533e-05\n",
      "################################  1904  ################################\n",
      "Loss:  2.354602111154236e-05\n",
      "################################  1905  ################################\n",
      "Loss:  2.3504297132603824e-05\n",
      "################################  1906  ################################\n",
      "Loss:  2.346886867599096e-05\n",
      "################################  1907  ################################\n",
      "Loss:  2.343284540984314e-05\n",
      "################################  1908  ################################\n",
      "Loss:  2.3398692064802162e-05\n",
      "################################  1909  ################################\n",
      "Loss:  2.336377110623289e-05\n",
      "################################  1910  ################################\n",
      "Loss:  2.3325226720771752e-05\n",
      "################################  1911  ################################\n",
      "Loss:  2.3281136236619204e-05\n",
      "################################  1912  ################################\n",
      "Loss:  2.3247939680004492e-05\n",
      "################################  1913  ################################\n",
      "Loss:  2.321462488907855e-05\n",
      "################################  1914  ################################\n",
      "Loss:  2.3176604372565635e-05\n",
      "################################  1915  ################################\n",
      "Loss:  2.3141761630540714e-05\n",
      "################################  1916  ################################\n",
      "Loss:  2.3110173060558736e-05\n",
      "################################  1917  ################################\n",
      "Loss:  2.3076905563357286e-05\n",
      "################################  1918  ################################\n",
      "Loss:  2.3042945031193085e-05\n",
      "################################  1919  ################################\n",
      "Loss:  2.3002055968390778e-05\n",
      "################################  1920  ################################\n",
      "Loss:  2.2970407371758483e-05\n",
      "################################  1921  ################################\n",
      "Loss:  2.2931220883037895e-05\n",
      "################################  1922  ################################\n",
      "Loss:  2.2887981685926206e-05\n",
      "################################  1923  ################################\n",
      "Loss:  2.2843294573249295e-05\n",
      "################################  1924  ################################\n",
      "Loss:  2.2787640773458406e-05\n",
      "################################  1925  ################################\n",
      "Loss:  2.2737722247256897e-05\n",
      "################################  1926  ################################\n",
      "Loss:  2.268368552904576e-05\n",
      "################################  1927  ################################\n",
      "Loss:  2.2628941223956645e-05\n",
      "################################  1928  ################################\n",
      "Loss:  2.256767220387701e-05\n",
      "################################  1929  ################################\n",
      "Loss:  2.249262797704432e-05\n",
      "################################  1930  ################################\n",
      "Loss:  2.242064874735661e-05\n",
      "################################  1931  ################################\n",
      "Loss:  2.2351496227202006e-05\n",
      "################################  1932  ################################\n",
      "Loss:  2.227822733402718e-05\n",
      "################################  1933  ################################\n",
      "Loss:  2.2205764253158122e-05\n",
      "################################  1934  ################################\n",
      "Loss:  2.2137739506433718e-05\n",
      "################################  1935  ################################\n",
      "Loss:  2.2069054466555826e-05\n",
      "################################  1936  ################################\n",
      "Loss:  2.20016845560167e-05\n",
      "################################  1937  ################################\n",
      "Loss:  2.1938549252809025e-05\n",
      "################################  1938  ################################\n",
      "Loss:  2.1872245270060375e-05\n",
      "################################  1939  ################################\n",
      "Loss:  2.1815492800669745e-05\n",
      "################################  1940  ################################\n",
      "Loss:  2.175479312427342e-05\n",
      "################################  1941  ################################\n",
      "Loss:  2.1693682356271893e-05\n",
      "################################  1942  ################################\n",
      "Loss:  2.1630601622746326e-05\n",
      "################################  1943  ################################\n",
      "Loss:  2.1567835574387573e-05\n",
      "################################  1944  ################################\n",
      "Loss:  2.1507505152840167e-05\n",
      "################################  1945  ################################\n",
      "Loss:  2.1440226191771217e-05\n",
      "################################  1946  ################################\n",
      "Loss:  2.1378187739173882e-05\n",
      "################################  1947  ################################\n",
      "Loss:  2.1319376173778437e-05\n",
      "################################  1948  ################################\n",
      "Loss:  2.1257139451336116e-05\n",
      "################################  1949  ################################\n",
      "Loss:  2.12000868486939e-05\n",
      "################################  1950  ################################\n",
      "Loss:  2.1144744096091017e-05\n",
      "################################  1951  ################################\n",
      "Loss:  2.109013803419657e-05\n",
      "################################  1952  ################################\n",
      "Loss:  2.1036765247117728e-05\n",
      "################################  1953  ################################\n",
      "Loss:  2.098431832564529e-05\n",
      "################################  1954  ################################\n",
      "Loss:  2.0935098291374743e-05\n",
      "################################  1955  ################################\n",
      "Loss:  2.0886258425889537e-05\n",
      "################################  1956  ################################\n",
      "Loss:  2.08430465136189e-05\n",
      "################################  1957  ################################\n",
      "Loss:  2.0800849597435445e-05\n",
      "################################  1958  ################################\n",
      "Loss:  2.076008422591258e-05\n",
      "################################  1959  ################################\n",
      "Loss:  2.0720270185847767e-05\n",
      "################################  1960  ################################\n",
      "Loss:  2.0684787159552798e-05\n",
      "################################  1961  ################################\n",
      "Loss:  2.065109947579913e-05\n",
      "################################  1962  ################################\n",
      "Loss:  2.061751001747325e-05\n",
      "################################  1963  ################################\n",
      "Loss:  2.0586112441378646e-05\n",
      "################################  1964  ################################\n",
      "Loss:  2.055299046332948e-05\n",
      "################################  1965  ################################\n",
      "Loss:  2.0514189600362442e-05\n",
      "################################  1966  ################################\n",
      "Loss:  2.0479497834458016e-05\n",
      "################################  1967  ################################\n",
      "Loss:  2.045047949650325e-05\n",
      "################################  1968  ################################\n",
      "Loss:  2.042131200141739e-05\n",
      "################################  1969  ################################\n",
      "Loss:  2.0394203602336347e-05\n",
      "################################  1970  ################################\n",
      "Loss:  2.036946352745872e-05\n",
      "################################  1971  ################################\n",
      "Loss:  2.0345452867331915e-05\n",
      "################################  1972  ################################\n",
      "Loss:  2.0322373529779725e-05\n",
      "################################  1973  ################################\n",
      "Loss:  2.0298715753597207e-05\n",
      "################################  1974  ################################\n",
      "Loss:  2.0276973373256624e-05\n",
      "################################  1975  ################################\n",
      "Loss:  2.025450703513343e-05\n",
      "################################  1976  ################################\n",
      "Loss:  2.0232682800269686e-05\n",
      "################################  1977  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  2.0211058654240333e-05\n",
      "################################  1978  ################################\n",
      "Loss:  2.0190538634778932e-05\n",
      "################################  1979  ################################\n",
      "Loss:  2.0171848518657498e-05\n",
      "################################  1980  ################################\n",
      "Loss:  2.0150695490883663e-05\n",
      "################################  1981  ################################\n",
      "Loss:  2.0129680706304498e-05\n",
      "################################  1982  ################################\n",
      "Loss:  2.0106013835174963e-05\n",
      "################################  1983  ################################\n",
      "Loss:  2.0087563825654797e-05\n",
      "################################  1984  ################################\n",
      "Loss:  2.0068895537406206e-05\n",
      "################################  1985  ################################\n",
      "Loss:  2.0045858036610298e-05\n",
      "################################  1986  ################################\n",
      "Loss:  2.0026840502396226e-05\n",
      "################################  1987  ################################\n",
      "Loss:  1.9996916307718493e-05\n",
      "################################  1988  ################################\n",
      "Loss:  1.997469735215418e-05\n",
      "################################  1989  ################################\n",
      "Loss:  1.994265585381072e-05\n",
      "################################  1990  ################################\n",
      "Loss:  1.9909653929062188e-05\n",
      "################################  1991  ################################\n",
      "Loss:  1.9869881725753658e-05\n",
      "################################  1992  ################################\n",
      "Loss:  1.983539004868362e-05\n",
      "################################  1993  ################################\n",
      "Loss:  1.9798288121819496e-05\n",
      "################################  1994  ################################\n",
      "Loss:  1.975773739104625e-05\n",
      "################################  1995  ################################\n",
      "Loss:  1.9705406884895638e-05\n",
      "################################  1996  ################################\n",
      "Loss:  1.9668974346132018e-05\n",
      "################################  1997  ################################\n",
      "Loss:  1.9627914298325777e-05\n",
      "################################  1998  ################################\n",
      "Loss:  1.9590179363149218e-05\n",
      "################################  1999  ################################\n",
      "Loss:  1.9552953745005652e-05\n",
      "################################  2000  ################################\n",
      "Loss:  1.950904515979346e-05\n",
      "################################  2001  ################################\n",
      "Loss:  1.947794771695044e-05\n",
      "################################  2002  ################################\n",
      "Loss:  1.9442088159848936e-05\n",
      "################################  2003  ################################\n",
      "Loss:  1.94157528312644e-05\n",
      "################################  2004  ################################\n",
      "Loss:  1.9383493054192513e-05\n",
      "################################  2005  ################################\n",
      "Loss:  1.934712599904742e-05\n",
      "################################  2006  ################################\n",
      "Loss:  1.9306760805193335e-05\n",
      "################################  2007  ################################\n",
      "Loss:  1.926676486618817e-05\n",
      "################################  2008  ################################\n",
      "Loss:  1.922663977893535e-05\n",
      "################################  2009  ################################\n",
      "Loss:  1.9188471924280748e-05\n",
      "################################  2010  ################################\n",
      "Loss:  1.915308166644536e-05\n",
      "################################  2011  ################################\n",
      "Loss:  1.911163235490676e-05\n",
      "################################  2012  ################################\n",
      "Loss:  1.907404475787189e-05\n",
      "################################  2013  ################################\n",
      "Loss:  1.9033455828321166e-05\n",
      "################################  2014  ################################\n",
      "Loss:  1.8994749552803114e-05\n",
      "################################  2015  ################################\n",
      "Loss:  1.8954740880872123e-05\n",
      "################################  2016  ################################\n",
      "Loss:  1.8920947695733048e-05\n",
      "################################  2017  ################################\n",
      "Loss:  1.888964106910862e-05\n",
      "################################  2018  ################################\n",
      "Loss:  1.8859176634578034e-05\n",
      "################################  2019  ################################\n",
      "Loss:  1.8829685359378345e-05\n",
      "################################  2020  ################################\n",
      "Loss:  1.880232412077021e-05\n",
      "################################  2021  ################################\n",
      "Loss:  1.877527029137127e-05\n",
      "################################  2022  ################################\n",
      "Loss:  1.8750239178189076e-05\n",
      "################################  2023  ################################\n",
      "Loss:  1.8728467694018036e-05\n",
      "################################  2024  ################################\n",
      "Loss:  1.8705812180996872e-05\n",
      "################################  2025  ################################\n",
      "Loss:  1.8678025298868306e-05\n",
      "################################  2026  ################################\n",
      "Loss:  1.865316698967945e-05\n",
      "################################  2027  ################################\n",
      "Loss:  1.8628059478942305e-05\n",
      "################################  2028  ################################\n",
      "Loss:  1.8604050637804903e-05\n",
      "################################  2029  ################################\n",
      "Loss:  1.8578586605144665e-05\n",
      "################################  2030  ################################\n",
      "Loss:  1.8545457351137884e-05\n",
      "################################  2031  ################################\n",
      "Loss:  1.851226988947019e-05\n",
      "################################  2032  ################################\n",
      "Loss:  1.848023930506315e-05\n",
      "################################  2033  ################################\n",
      "Loss:  1.8447988622938283e-05\n",
      "################################  2034  ################################\n",
      "Loss:  1.8416292732581496e-05\n",
      "################################  2035  ################################\n",
      "Loss:  1.8384942450211383e-05\n",
      "################################  2036  ################################\n",
      "Loss:  1.8354872736381367e-05\n",
      "################################  2037  ################################\n",
      "Loss:  1.8324933989788406e-05\n",
      "################################  2038  ################################\n",
      "Loss:  1.8296004782314412e-05\n",
      "################################  2039  ################################\n",
      "Loss:  1.82677322300151e-05\n",
      "################################  2040  ################################\n",
      "Loss:  1.8240336430608295e-05\n",
      "################################  2041  ################################\n",
      "Loss:  1.821166733861901e-05\n",
      "################################  2042  ################################\n",
      "Loss:  1.818747114157304e-05\n",
      "################################  2043  ################################\n",
      "Loss:  1.816350413719192e-05\n",
      "################################  2044  ################################\n",
      "Loss:  1.8139975509257056e-05\n",
      "################################  2045  ################################\n",
      "Loss:  1.811741094570607e-05\n",
      "################################  2046  ################################\n",
      "Loss:  1.8094466213369742e-05\n",
      "################################  2047  ################################\n",
      "Loss:  1.8073917090077884e-05\n",
      "################################  2048  ################################\n",
      "Loss:  1.805249667086173e-05\n",
      "################################  2049  ################################\n",
      "Loss:  1.8031196304946207e-05\n",
      "################################  2050  ################################\n",
      "Loss:  1.8010690837400034e-05\n",
      "################################  2051  ################################\n",
      "Loss:  1.799086203391198e-05\n",
      "################################  2052  ################################\n",
      "Loss:  1.79729686351493e-05\n",
      "################################  2053  ################################\n",
      "Loss:  1.7953127098735422e-05\n",
      "################################  2054  ################################\n",
      "Loss:  1.7937138181878254e-05\n",
      "################################  2055  ################################\n",
      "Loss:  1.7919452147907577e-05\n",
      "################################  2056  ################################\n",
      "Loss:  1.7898229998536408e-05\n",
      "################################  2057  ################################\n",
      "Loss:  1.7874082914204337e-05\n",
      "################################  2058  ################################\n",
      "Loss:  1.7853410099633038e-05\n",
      "################################  2059  ################################\n",
      "Loss:  1.783203515515197e-05\n",
      "################################  2060  ################################\n",
      "Loss:  1.7809485143516213e-05\n",
      "################################  2061  ################################\n",
      "Loss:  1.778604564606212e-05\n",
      "################################  2062  ################################\n",
      "Loss:  1.7761769413482398e-05\n",
      "################################  2063  ################################\n",
      "Loss:  1.7737678717821836e-05\n",
      "################################  2064  ################################\n",
      "Loss:  1.7711885448079556e-05\n",
      "################################  2065  ################################\n",
      "Loss:  1.768671063473448e-05\n",
      "################################  2066  ################################\n",
      "Loss:  1.7660197045188397e-05\n",
      "################################  2067  ################################\n",
      "Loss:  1.7631185983191244e-05\n",
      "################################  2068  ################################\n",
      "Loss:  1.7604981621843763e-05\n",
      "################################  2069  ################################\n",
      "Loss:  1.7577332982909866e-05\n",
      "################################  2070  ################################\n",
      "Loss:  1.7551430573803373e-05\n",
      "################################  2071  ################################\n",
      "Loss:  1.752573916746769e-05\n",
      "################################  2072  ################################\n",
      "Loss:  1.749877628753893e-05\n",
      "################################  2073  ################################\n",
      "Loss:  1.7473974367021583e-05\n",
      "################################  2074  ################################\n",
      "Loss:  1.744771361700259e-05\n",
      "################################  2075  ################################\n",
      "Loss:  1.74248380062636e-05\n",
      "################################  2076  ################################\n",
      "Loss:  1.739791696309112e-05\n",
      "################################  2077  ################################\n",
      "Loss:  1.7364405721309595e-05\n",
      "################################  2078  ################################\n",
      "Loss:  1.7328464309684932e-05\n",
      "################################  2079  ################################\n",
      "Loss:  1.729946961859241e-05\n",
      "################################  2080  ################################\n",
      "Loss:  1.7266456779907458e-05\n",
      "################################  2081  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  1.7229653167305514e-05\n",
      "################################  2082  ################################\n",
      "Loss:  1.7188425772474147e-05\n",
      "################################  2083  ################################\n",
      "Loss:  1.714786412776448e-05\n",
      "################################  2084  ################################\n",
      "Loss:  1.7108835891122e-05\n",
      "################################  2085  ################################\n",
      "Loss:  1.707312731014099e-05\n",
      "################################  2086  ################################\n",
      "Loss:  1.7036860299413092e-05\n",
      "################################  2087  ################################\n",
      "Loss:  1.700399116089102e-05\n",
      "################################  2088  ################################\n",
      "Loss:  1.6975713151623495e-05\n",
      "################################  2089  ################################\n",
      "Loss:  1.696814979368355e-05\n",
      "################################  2090  ################################\n",
      "Loss:  1.694148886599578e-05\n",
      "################################  2091  ################################\n",
      "Loss:  1.6915755622903816e-05\n",
      "################################  2092  ################################\n",
      "Loss:  1.6890509868972003e-05\n",
      "################################  2093  ################################\n",
      "Loss:  1.6866106307134032e-05\n",
      "################################  2094  ################################\n",
      "Loss:  1.6842324839672074e-05\n",
      "################################  2095  ################################\n",
      "Loss:  1.681969479250256e-05\n",
      "################################  2096  ################################\n",
      "Loss:  1.6797634089016356e-05\n",
      "################################  2097  ################################\n",
      "Loss:  1.677676846156828e-05\n",
      "################################  2098  ################################\n",
      "Loss:  1.675654129940085e-05\n",
      "################################  2099  ################################\n",
      "Loss:  1.673675978963729e-05\n",
      "################################  2100  ################################\n",
      "Loss:  1.6716623576940037e-05\n",
      "################################  2101  ################################\n",
      "Loss:  1.6694608348188922e-05\n",
      "################################  2102  ################################\n",
      "Loss:  1.66772060765652e-05\n",
      "################################  2103  ################################\n",
      "Loss:  1.6660571418469772e-05\n",
      "################################  2104  ################################\n",
      "Loss:  1.664238516241312e-05\n",
      "################################  2105  ################################\n",
      "Loss:  1.6622139810351655e-05\n",
      "################################  2106  ################################\n",
      "Loss:  1.6594391127000563e-05\n",
      "################################  2107  ################################\n",
      "Loss:  1.657618304307107e-05\n",
      "################################  2108  ################################\n",
      "Loss:  1.6555599358980544e-05\n",
      "################################  2109  ################################\n",
      "Loss:  1.653052822803147e-05\n",
      "################################  2110  ################################\n",
      "Loss:  1.650476588110905e-05\n",
      "################################  2111  ################################\n",
      "Loss:  1.647889075684361e-05\n",
      "################################  2112  ################################\n",
      "Loss:  1.6453166608698666e-05\n",
      "################################  2113  ################################\n",
      "Loss:  1.6420148313045502e-05\n",
      "################################  2114  ################################\n",
      "Loss:  1.6397158105974086e-05\n",
      "################################  2115  ################################\n",
      "Loss:  1.6371637684642337e-05\n",
      "################################  2116  ################################\n",
      "Loss:  1.633872125239577e-05\n",
      "################################  2117  ################################\n",
      "Loss:  1.6304060409311205e-05\n",
      "################################  2118  ################################\n",
      "Loss:  1.627236997592263e-05\n",
      "################################  2119  ################################\n",
      "Loss:  1.623464049771428e-05\n",
      "################################  2120  ################################\n",
      "Loss:  1.620760485820938e-05\n",
      "################################  2121  ################################\n",
      "Loss:  1.6175446944544092e-05\n",
      "################################  2122  ################################\n",
      "Loss:  1.61417992785573e-05\n",
      "################################  2123  ################################\n",
      "Loss:  1.6108517229440622e-05\n",
      "################################  2124  ################################\n",
      "Loss:  1.6073603546828963e-05\n",
      "################################  2125  ################################\n",
      "Loss:  1.6042164133978076e-05\n",
      "################################  2126  ################################\n",
      "Loss:  1.601157055119984e-05\n",
      "################################  2127  ################################\n",
      "Loss:  1.5983379853423685e-05\n",
      "################################  2128  ################################\n",
      "Loss:  1.5955087292240933e-05\n",
      "################################  2129  ################################\n",
      "Loss:  1.5932086171233095e-05\n",
      "################################  2130  ################################\n",
      "Loss:  1.5912222806946374e-05\n",
      "################################  2131  ################################\n",
      "Loss:  1.5889965652604587e-05\n",
      "################################  2132  ################################\n",
      "Loss:  1.5869587514316663e-05\n",
      "################################  2133  ################################\n",
      "Loss:  1.585020982020069e-05\n",
      "################################  2134  ################################\n",
      "Loss:  1.5829702533665113e-05\n",
      "################################  2135  ################################\n",
      "Loss:  1.581062861077953e-05\n",
      "################################  2136  ################################\n",
      "Loss:  1.5792500562383793e-05\n",
      "################################  2137  ################################\n",
      "Loss:  1.577379043737892e-05\n",
      "################################  2138  ################################\n",
      "Loss:  1.5754416381241754e-05\n",
      "################################  2139  ################################\n",
      "Loss:  1.5738582078483887e-05\n",
      "################################  2140  ################################\n",
      "Loss:  1.572356813994702e-05\n",
      "################################  2141  ################################\n",
      "Loss:  1.570754284330178e-05\n",
      "################################  2142  ################################\n",
      "Loss:  1.569147570990026e-05\n",
      "################################  2143  ################################\n",
      "Loss:  1.567402978253085e-05\n",
      "################################  2144  ################################\n",
      "Loss:  1.5657753465347923e-05\n",
      "################################  2145  ################################\n",
      "Loss:  1.5641553545719944e-05\n",
      "################################  2146  ################################\n",
      "Loss:  1.5625026207999326e-05\n",
      "################################  2147  ################################\n",
      "Loss:  1.56089045049157e-05\n",
      "################################  2148  ################################\n",
      "Loss:  1.5593455827911384e-05\n",
      "################################  2149  ################################\n",
      "Loss:  1.5578178135911003e-05\n",
      "################################  2150  ################################\n",
      "Loss:  1.5562149201286957e-05\n",
      "################################  2151  ################################\n",
      "Loss:  1.5545772839686833e-05\n",
      "################################  2152  ################################\n",
      "Loss:  1.5529174561379477e-05\n",
      "################################  2153  ################################\n",
      "Loss:  1.5512563550146297e-05\n",
      "################################  2154  ################################\n",
      "Loss:  1.5494644685531966e-05\n",
      "################################  2155  ################################\n",
      "Loss:  1.5479710782528855e-05\n",
      "################################  2156  ################################\n",
      "Loss:  1.5462048395420425e-05\n",
      "################################  2157  ################################\n",
      "Loss:  1.5441606592503376e-05\n",
      "################################  2158  ################################\n",
      "Loss:  1.541715391795151e-05\n",
      "################################  2159  ################################\n",
      "Loss:  1.539161712571513e-05\n",
      "################################  2160  ################################\n",
      "Loss:  1.5360732504632324e-05\n",
      "################################  2161  ################################\n",
      "Loss:  1.53360451804474e-05\n",
      "################################  2162  ################################\n",
      "Loss:  1.5302770407288335e-05\n",
      "################################  2163  ################################\n",
      "Loss:  1.5271307347575203e-05\n",
      "################################  2164  ################################\n",
      "Loss:  1.5236625586112496e-05\n",
      "################################  2165  ################################\n",
      "Loss:  1.5201218957372475e-05\n",
      "################################  2166  ################################\n",
      "Loss:  1.5164795513555873e-05\n",
      "################################  2167  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  1.513288043497596e-05\n",
      "################################  2168  ################################\n",
      "Loss:  1.510106540081324e-05\n",
      "################################  2169  ################################\n",
      "Loss:  1.5064552826515865e-05\n",
      "################################  2170  ################################\n",
      "Loss:  1.5030842405394651e-05\n",
      "################################  2171  ################################\n",
      "Loss:  1.5000920939201023e-05\n",
      "################################  2172  ################################\n",
      "Loss:  1.4973363249737304e-05\n",
      "################################  2173  ################################\n",
      "Loss:  1.494844036642462e-05\n",
      "################################  2174  ################################\n",
      "Loss:  1.492574028816307e-05\n",
      "################################  2175  ################################\n",
      "Loss:  1.4903301234880928e-05\n",
      "################################  2176  ################################\n",
      "Loss:  1.4885730706737377e-05\n",
      "################################  2177  ################################\n",
      "Loss:  1.48696344695054e-05\n",
      "################################  2178  ################################\n",
      "Loss:  1.4852925232844427e-05\n",
      "################################  2179  ################################\n",
      "Loss:  1.4837036360404454e-05\n",
      "################################  2180  ################################\n",
      "Loss:  1.4822252524027135e-05\n",
      "################################  2181  ################################\n",
      "Loss:  1.4809304957452696e-05\n",
      "################################  2182  ################################\n",
      "Loss:  1.479616912547499e-05\n",
      "################################  2183  ################################\n",
      "Loss:  1.4781928257434629e-05\n",
      "################################  2184  ################################\n",
      "Loss:  1.4766536878596526e-05\n",
      "################################  2185  ################################\n",
      "Loss:  1.4749468391528353e-05\n",
      "################################  2186  ################################\n",
      "Loss:  1.4730640941706952e-05\n",
      "################################  2187  ################################\n",
      "Loss:  1.4713106793351471e-05\n",
      "################################  2188  ################################\n",
      "Loss:  1.4696107427880634e-05\n",
      "################################  2189  ################################\n",
      "Loss:  1.4680208550998941e-05\n",
      "################################  2190  ################################\n",
      "Loss:  1.4665076378150843e-05\n",
      "################################  2191  ################################\n",
      "Loss:  1.4647814168711193e-05\n",
      "################################  2192  ################################\n",
      "Loss:  1.4632887541665696e-05\n",
      "################################  2193  ################################\n",
      "Loss:  1.4618604836869054e-05\n",
      "################################  2194  ################################\n",
      "Loss:  1.4602728697354905e-05\n",
      "################################  2195  ################################\n",
      "Loss:  1.458894712413894e-05\n",
      "################################  2196  ################################\n",
      "Loss:  1.4572729014616925e-05\n",
      "################################  2197  ################################\n",
      "Loss:  1.4556148016708903e-05\n",
      "################################  2198  ################################\n",
      "Loss:  1.4536009985022247e-05\n",
      "################################  2199  ################################\n",
      "Loss:  1.4511387234961148e-05\n",
      "################################  2200  ################################\n",
      "Loss:  1.4484578059636988e-05\n",
      "################################  2201  ################################\n",
      "Loss:  1.4455608834396116e-05\n",
      "################################  2202  ################################\n",
      "Loss:  1.4425259905692656e-05\n",
      "################################  2203  ################################\n",
      "Loss:  1.43930155900307e-05\n",
      "################################  2204  ################################\n",
      "Loss:  1.436281581845833e-05\n",
      "################################  2205  ################################\n",
      "Loss:  1.4332516002468765e-05\n",
      "################################  2206  ################################\n",
      "Loss:  1.4302563613455277e-05\n",
      "################################  2207  ################################\n",
      "Loss:  1.4272900443756953e-05\n",
      "################################  2208  ################################\n",
      "Loss:  1.4242697943700477e-05\n",
      "################################  2209  ################################\n",
      "Loss:  1.4212209862307645e-05\n",
      "################################  2210  ################################\n",
      "Loss:  1.4181596270645969e-05\n",
      "################################  2211  ################################\n",
      "Loss:  1.415428050677292e-05\n",
      "################################  2212  ################################\n",
      "Loss:  1.4128260772849899e-05\n",
      "################################  2213  ################################\n",
      "Loss:  1.4102864042797592e-05\n",
      "################################  2214  ################################\n",
      "Loss:  1.4076508705329616e-05\n",
      "################################  2215  ################################\n",
      "Loss:  1.4054347957426216e-05\n",
      "################################  2216  ################################\n",
      "Loss:  1.4032507351657841e-05\n",
      "################################  2217  ################################\n",
      "Loss:  1.4005450793774799e-05\n",
      "################################  2218  ################################\n",
      "Loss:  1.3982332347950432e-05\n",
      "################################  2219  ################################\n",
      "Loss:  1.3960978321847506e-05\n",
      "################################  2220  ################################\n",
      "Loss:  1.3937533367425203e-05\n",
      "################################  2221  ################################\n",
      "Loss:  1.3913490874983836e-05\n",
      "################################  2222  ################################\n",
      "Loss:  1.3893422874389216e-05\n",
      "################################  2223  ################################\n",
      "Loss:  1.387199699820485e-05\n",
      "################################  2224  ################################\n",
      "Loss:  1.3852525626134593e-05\n",
      "################################  2225  ################################\n",
      "Loss:  1.3830894204147626e-05\n",
      "################################  2226  ################################\n",
      "Loss:  1.3811216376780067e-05\n",
      "################################  2227  ################################\n",
      "Loss:  1.3785659575660247e-05\n",
      "################################  2228  ################################\n",
      "Loss:  1.3756554835708812e-05\n",
      "################################  2229  ################################\n",
      "Loss:  1.3724720702157356e-05\n",
      "################################  2230  ################################\n",
      "Loss:  1.3696288988285232e-05\n",
      "################################  2231  ################################\n",
      "Loss:  1.366671403957298e-05\n",
      "################################  2232  ################################\n",
      "Loss:  1.3633639355248306e-05\n",
      "################################  2233  ################################\n",
      "Loss:  1.3604577361547854e-05\n",
      "################################  2234  ################################\n",
      "Loss:  1.357527344225673e-05\n",
      "################################  2235  ################################\n",
      "Loss:  1.3545813999371603e-05\n",
      "################################  2236  ################################\n",
      "Loss:  1.3516914805222768e-05\n",
      "################################  2237  ################################\n",
      "Loss:  1.3488673175743315e-05\n",
      "################################  2238  ################################\n",
      "Loss:  1.3461357411870267e-05\n",
      "################################  2239  ################################\n",
      "Loss:  1.3434161701297853e-05\n",
      "################################  2240  ################################\n",
      "Loss:  1.340809467365034e-05\n",
      "################################  2241  ################################\n",
      "Loss:  1.3384001249505673e-05\n",
      "################################  2242  ################################\n",
      "Loss:  1.3361656783672515e-05\n",
      "################################  2243  ################################\n",
      "Loss:  1.3340495570446365e-05\n",
      "################################  2244  ################################\n",
      "Loss:  1.3319126082933508e-05\n",
      "################################  2245  ################################\n",
      "Loss:  1.3298122212290764e-05\n",
      "################################  2246  ################################\n",
      "Loss:  1.3278798178362194e-05\n",
      "################################  2247  ################################\n",
      "Loss:  1.3259253137221094e-05\n",
      "################################  2248  ################################\n",
      "Loss:  1.3242015484138392e-05\n",
      "################################  2249  ################################\n",
      "Loss:  1.3224630492914002e-05\n",
      "################################  2250  ################################\n",
      "Loss:  1.3206665244069882e-05\n",
      "################################  2251  ################################\n",
      "Loss:  1.318863814958604e-05\n",
      "################################  2252  ################################\n",
      "Loss:  1.3170250895200297e-05\n",
      "################################  2253  ################################\n",
      "Loss:  1.315144618274644e-05\n",
      "################################  2254  ################################\n",
      "Loss:  1.3133098036632873e-05\n",
      "################################  2255  ################################\n",
      "Loss:  1.3114467947161756e-05\n",
      "################################  2256  ################################\n",
      "Loss:  1.3097297596686985e-05\n",
      "################################  2257  ################################\n",
      "Loss:  1.307853472098941e-05\n",
      "################################  2258  ################################\n",
      "Loss:  1.3057085197942797e-05\n",
      "################################  2259  ################################\n",
      "Loss:  1.3030670743319206e-05\n",
      "################################  2260  ################################\n",
      "Loss:  1.3006606423004996e-05\n",
      "################################  2261  ################################\n",
      "Loss:  1.298381084779976e-05\n",
      "################################  2262  ################################\n",
      "Loss:  1.2960788808413781e-05\n",
      "################################  2263  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  1.2936471648572478e-05\n",
      "################################  2264  ################################\n",
      "Loss:  1.2910678378830198e-05\n",
      "################################  2265  ################################\n",
      "Loss:  1.2882715054729488e-05\n",
      "################################  2266  ################################\n",
      "Loss:  1.2854596207034774e-05\n",
      "################################  2267  ################################\n",
      "Loss:  1.2827977116103284e-05\n",
      "################################  2268  ################################\n",
      "Loss:  1.2802487617591396e-05\n",
      "################################  2269  ################################\n",
      "Loss:  1.2779162716469727e-05\n",
      "################################  2270  ################################\n",
      "Loss:  1.2757688637066167e-05\n",
      "################################  2271  ################################\n",
      "Loss:  1.2738162695313804e-05\n",
      "################################  2272  ################################\n",
      "Loss:  1.2720402992272284e-05\n",
      "################################  2273  ################################\n",
      "Loss:  1.2703497304755729e-05\n",
      "################################  2274  ################################\n",
      "Loss:  1.268661071662791e-05\n",
      "################################  2275  ################################\n",
      "Loss:  1.2670989235630259e-05\n",
      "################################  2276  ################################\n",
      "Loss:  1.2656618309847545e-05\n",
      "################################  2277  ################################\n",
      "Loss:  1.2644410162465647e-05\n",
      "################################  2278  ################################\n",
      "Loss:  1.2632819561986253e-05\n",
      "################################  2279  ################################\n",
      "Loss:  1.262285604752833e-05\n",
      "################################  2280  ################################\n",
      "Loss:  1.261388842976885e-05\n",
      "################################  2281  ################################\n",
      "Loss:  1.2604757102963049e-05\n",
      "################################  2282  ################################\n",
      "Loss:  1.25948827189859e-05\n",
      "################################  2283  ################################\n",
      "Loss:  1.258620250155218e-05\n",
      "################################  2284  ################################\n",
      "Loss:  1.2578325367940124e-05\n",
      "################################  2285  ################################\n",
      "Loss:  1.2570370927278418e-05\n",
      "################################  2286  ################################\n",
      "Loss:  1.25623591884505e-05\n",
      "################################  2287  ################################\n",
      "Loss:  1.2552279258670751e-05\n",
      "################################  2288  ################################\n",
      "Loss:  1.2542792319436558e-05\n",
      "################################  2289  ################################\n",
      "Loss:  1.2531319953268394e-05\n",
      "################################  2290  ################################\n",
      "Loss:  1.2522472388809547e-05\n",
      "################################  2291  ################################\n",
      "Loss:  1.25090082292445e-05\n",
      "################################  2292  ################################\n",
      "Loss:  1.2497795069066342e-05\n",
      "################################  2293  ################################\n",
      "Loss:  1.2483633327065036e-05\n",
      "################################  2294  ################################\n",
      "Loss:  1.2466130101529416e-05\n",
      "################################  2295  ################################\n",
      "Loss:  1.2447409972082824e-05\n",
      "################################  2296  ################################\n",
      "Loss:  1.2427204637788236e-05\n",
      "################################  2297  ################################\n",
      "Loss:  1.240655365108978e-05\n",
      "################################  2298  ################################\n",
      "Loss:  1.2386934031383134e-05\n",
      "################################  2299  ################################\n",
      "Loss:  1.2368630450509954e-05\n",
      "################################  2300  ################################\n",
      "Loss:  1.2351398254395463e-05\n",
      "################################  2301  ################################\n",
      "Loss:  1.2334051461948548e-05\n",
      "################################  2302  ################################\n",
      "Loss:  1.2317593245825265e-05\n",
      "################################  2303  ################################\n",
      "Loss:  1.2302446521061938e-05\n",
      "################################  2304  ################################\n",
      "Loss:  1.2287527169974055e-05\n",
      "################################  2305  ################################\n",
      "Loss:  1.2272782441868912e-05\n",
      "################################  2306  ################################\n",
      "Loss:  1.2259502000233624e-05\n",
      "################################  2307  ################################\n",
      "Loss:  1.2246494407008868e-05\n",
      "################################  2308  ################################\n",
      "Loss:  1.2234305359015707e-05\n",
      "################################  2309  ################################\n",
      "Loss:  1.2222388249938376e-05\n",
      "################################  2310  ################################\n",
      "Loss:  1.2211313332954887e-05\n",
      "################################  2311  ################################\n",
      "Loss:  1.2200050150568131e-05\n",
      "################################  2312  ################################\n",
      "Loss:  1.2187556421849877e-05\n",
      "################################  2313  ################################\n",
      "Loss:  1.2175725714769214e-05\n",
      "################################  2314  ################################\n",
      "Loss:  1.216288819705369e-05\n",
      "################################  2315  ################################\n",
      "Loss:  1.2151162991358433e-05\n",
      "################################  2316  ################################\n",
      "Loss:  1.2137827070546336e-05\n",
      "################################  2317  ################################\n",
      "Loss:  1.2127055015298538e-05\n",
      "################################  2318  ################################\n",
      "Loss:  1.2116132893424947e-05\n",
      "################################  2319  ################################\n",
      "Loss:  1.2102856089768466e-05\n",
      "################################  2320  ################################\n",
      "Loss:  1.2088598850823473e-05\n",
      "################################  2321  ################################\n",
      "Loss:  1.2074841833964456e-05\n",
      "################################  2322  ################################\n",
      "Loss:  1.2061149391229264e-05\n",
      "################################  2323  ################################\n",
      "Loss:  1.204738873639144e-05\n",
      "################################  2324  ################################\n",
      "Loss:  1.2033620805596001e-05\n",
      "################################  2325  ################################\n",
      "Loss:  1.2016066648357082e-05\n",
      "################################  2326  ################################\n",
      "Loss:  1.2000928109046072e-05\n",
      "################################  2327  ################################\n",
      "Loss:  1.1985670425929129e-05\n",
      "################################  2328  ################################\n",
      "Loss:  1.1970781997661106e-05\n",
      "################################  2329  ################################\n",
      "Loss:  1.1955324225709774e-05\n",
      "################################  2330  ################################\n",
      "Loss:  1.1939800060645211e-05\n",
      "################################  2331  ################################\n",
      "Loss:  1.1922794328711461e-05\n",
      "################################  2332  ################################\n",
      "Loss:  1.1909467502846383e-05\n",
      "################################  2333  ################################\n",
      "Loss:  1.1895464922417887e-05\n",
      "################################  2334  ################################\n",
      "Loss:  1.1880813872267026e-05\n",
      "################################  2335  ################################\n",
      "Loss:  1.1866045497299638e-05\n",
      "################################  2336  ################################\n",
      "Loss:  1.1850155715364963e-05\n",
      "################################  2337  ################################\n",
      "Loss:  1.1834891665785108e-05\n",
      "################################  2338  ################################\n",
      "Loss:  1.1819501196441706e-05\n",
      "################################  2339  ################################\n",
      "Loss:  1.1805038411694113e-05\n",
      "################################  2340  ################################\n",
      "Loss:  1.1789747986767907e-05\n",
      "################################  2341  ################################\n",
      "Loss:  1.1774368431360926e-05\n",
      "################################  2342  ################################\n",
      "Loss:  1.1758969776565209e-05\n",
      "################################  2343  ################################\n",
      "Loss:  1.174361659650458e-05\n",
      "################################  2344  ################################\n",
      "Loss:  1.1728509889508132e-05\n",
      "################################  2345  ################################\n",
      "Loss:  1.171239091490861e-05\n",
      "################################  2346  ################################\n",
      "Loss:  1.1696511137415655e-05\n",
      "################################  2347  ################################\n",
      "Loss:  1.1680810530378949e-05\n",
      "################################  2348  ################################\n",
      "Loss:  1.166473430203041e-05\n",
      "################################  2349  ################################\n",
      "Loss:  1.165112462331308e-05\n",
      "################################  2350  ################################\n",
      "Loss:  1.163669367088005e-05\n",
      "################################  2351  ################################\n",
      "Loss:  1.1621583325904794e-05\n",
      "################################  2352  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  1.1606425687205046e-05\n",
      "################################  2353  ################################\n",
      "Loss:  1.1591291695367545e-05\n",
      "################################  2354  ################################\n",
      "Loss:  1.1575369171623606e-05\n",
      "################################  2355  ################################\n",
      "Loss:  1.1559497579582967e-05\n",
      "################################  2356  ################################\n",
      "Loss:  1.154354049504036e-05\n",
      "################################  2357  ################################\n",
      "Loss:  1.1527936294442043e-05\n",
      "################################  2358  ################################\n",
      "Loss:  1.1512826858961489e-05\n",
      "################################  2359  ################################\n",
      "Loss:  1.1494706086523365e-05\n",
      "################################  2360  ################################\n",
      "Loss:  1.1477534826553892e-05\n",
      "################################  2361  ################################\n",
      "Loss:  1.14586609925027e-05\n",
      "################################  2362  ################################\n",
      "Loss:  1.1438599358370993e-05\n",
      "################################  2363  ################################\n",
      "Loss:  1.1414746950322296e-05\n",
      "################################  2364  ################################\n",
      "Loss:  1.1398313290555961e-05\n",
      "################################  2365  ################################\n",
      "Loss:  1.1380846444808412e-05\n",
      "################################  2366  ################################\n",
      "Loss:  1.1361928045516834e-05\n",
      "################################  2367  ################################\n",
      "Loss:  1.1341774552420247e-05\n",
      "################################  2368  ################################\n",
      "Loss:  1.132078432419803e-05\n",
      "################################  2369  ################################\n",
      "Loss:  1.1301364793325774e-05\n",
      "################################  2370  ################################\n",
      "Loss:  1.1281721526756883e-05\n",
      "################################  2371  ################################\n",
      "Loss:  1.1263904525549151e-05\n",
      "################################  2372  ################################\n",
      "Loss:  1.1247263500990812e-05\n",
      "################################  2373  ################################\n",
      "Loss:  1.1230329619138502e-05\n",
      "################################  2374  ################################\n",
      "Loss:  1.1215304766665213e-05\n",
      "################################  2375  ################################\n",
      "Loss:  1.120104207075201e-05\n",
      "################################  2376  ################################\n",
      "Loss:  1.118796626542462e-05\n",
      "################################  2377  ################################\n",
      "Loss:  1.1174980500072706e-05\n",
      "################################  2378  ################################\n",
      "Loss:  1.116424573410768e-05\n",
      "################################  2379  ################################\n",
      "Loss:  1.1152824299642816e-05\n",
      "################################  2380  ################################\n",
      "Loss:  1.1139959497086238e-05\n",
      "################################  2381  ################################\n",
      "Loss:  1.112737663788721e-05\n",
      "################################  2382  ################################\n",
      "Loss:  1.1116673704236746e-05\n",
      "################################  2383  ################################\n",
      "Loss:  1.1105710655101575e-05\n",
      "################################  2384  ################################\n",
      "Loss:  1.1095816262240987e-05\n",
      "################################  2385  ################################\n",
      "Loss:  1.1085092410212383e-05\n",
      "################################  2386  ################################\n",
      "Loss:  1.1073175301135052e-05\n",
      "################################  2387  ################################\n",
      "Loss:  1.1059081771236379e-05\n",
      "################################  2388  ################################\n",
      "Loss:  1.1048871783714276e-05\n",
      "################################  2389  ################################\n",
      "Loss:  1.103845534089487e-05\n",
      "################################  2390  ################################\n",
      "Loss:  1.1026414540538099e-05\n",
      "################################  2391  ################################\n",
      "Loss:  1.1014159099431708e-05\n",
      "################################  2392  ################################\n",
      "Loss:  1.1005956366716418e-05\n",
      "################################  2393  ################################\n",
      "Loss:  1.0995290722348727e-05\n",
      "################################  2394  ################################\n",
      "Loss:  1.098463235393865e-05\n",
      "################################  2395  ################################\n",
      "Loss:  1.097346921596909e-05\n",
      "################################  2396  ################################\n",
      "Loss:  1.09623942989856e-05\n",
      "################################  2397  ################################\n",
      "Loss:  1.0951745935017243e-05\n",
      "################################  2398  ################################\n",
      "Loss:  1.0940971151285339e-05\n",
      "################################  2399  ################################\n",
      "Loss:  1.0930385542451404e-05\n",
      "################################  2400  ################################\n",
      "Loss:  1.0920890417764895e-05\n",
      "################################  2401  ################################\n",
      "Loss:  1.0910878700087778e-05\n",
      "################################  2402  ################################\n",
      "Loss:  1.0901704627030995e-05\n",
      "################################  2403  ################################\n",
      "Loss:  1.0893025319091976e-05\n",
      "################################  2404  ################################\n",
      "Loss:  1.0884982657444198e-05\n",
      "################################  2405  ################################\n",
      "Loss:  1.0876276974158827e-05\n",
      "################################  2406  ################################\n",
      "Loss:  1.086901920643868e-05\n",
      "################################  2407  ################################\n",
      "Loss:  1.0862549061130267e-05\n",
      "################################  2408  ################################\n",
      "Loss:  1.0855383152374998e-05\n",
      "################################  2409  ################################\n",
      "Loss:  1.0847598787222523e-05\n",
      "################################  2410  ################################\n",
      "Loss:  1.0841274161066394e-05\n",
      "################################  2411  ################################\n",
      "Loss:  1.083406914403895e-05\n",
      "################################  2412  ################################\n",
      "Loss:  1.0825862773344852e-05\n",
      "################################  2413  ################################\n",
      "Loss:  1.081714071915485e-05\n",
      "################################  2414  ################################\n",
      "Loss:  1.0809113518917002e-05\n",
      "################################  2415  ################################\n",
      "Loss:  1.0800688869494479e-05\n",
      "################################  2416  ################################\n",
      "Loss:  1.0791239219543058e-05\n",
      "################################  2417  ################################\n",
      "Loss:  1.078221157513326e-05\n",
      "################################  2418  ################################\n",
      "Loss:  1.077143315342255e-05\n",
      "################################  2419  ################################\n",
      "Loss:  1.0760490113170817e-05\n",
      "################################  2420  ################################\n",
      "Loss:  1.0749474313342944e-05\n",
      "################################  2421  ################################\n",
      "Loss:  1.0739929166447837e-05\n",
      "################################  2422  ################################\n",
      "Loss:  1.0730424037319608e-05\n",
      "################################  2423  ################################\n",
      "Loss:  1.071979568223469e-05\n",
      "################################  2424  ################################\n",
      "Loss:  1.0710830792959314e-05\n",
      "################################  2425  ################################\n",
      "Loss:  1.0703332009143196e-05\n",
      "################################  2426  ################################\n",
      "Loss:  1.0694468073779717e-05\n",
      "################################  2427  ################################\n",
      "Loss:  1.068609253707109e-05\n",
      "################################  2428  ################################\n",
      "Loss:  1.0677049431251362e-05\n",
      "################################  2429  ################################\n",
      "Loss:  1.0667385140550323e-05\n",
      "################################  2430  ################################\n",
      "Loss:  1.0657089660526253e-05\n",
      "################################  2431  ################################\n",
      "Loss:  1.0648499483068008e-05\n",
      "################################  2432  ################################\n",
      "Loss:  1.0640791515470482e-05\n",
      "################################  2433  ################################\n",
      "Loss:  1.0632626072037965e-05\n",
      "################################  2434  ################################\n",
      "Loss:  1.0624518836266361e-05\n",
      "################################  2435  ################################\n",
      "Loss:  1.0618179658195004e-05\n",
      "################################  2436  ################################\n",
      "Loss:  1.0611161997076124e-05\n",
      "################################  2437  ################################\n",
      "Loss:  1.0604589988361113e-05\n",
      "################################  2438  ################################\n",
      "Loss:  1.0597775144560728e-05\n",
      "################################  2439  ################################\n",
      "Loss:  1.0590767487883568e-05\n",
      "################################  2440  ################################\n",
      "Loss:  1.0583245057205204e-05\n",
      "################################  2441  ################################\n",
      "Loss:  1.0577266039035749e-05\n",
      "################################  2442  ################################\n",
      "Loss:  1.0571283382887486e-05\n",
      "################################  2443  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  1.056447308656061e-05\n",
      "################################  2444  ################################\n",
      "Loss:  1.0556705092312768e-05\n",
      "################################  2445  ################################\n",
      "Loss:  1.0548865247983485e-05\n",
      "################################  2446  ################################\n",
      "Loss:  1.0541144547460135e-05\n",
      "################################  2447  ################################\n",
      "Loss:  1.0533514796406962e-05\n",
      "################################  2448  ################################\n",
      "Loss:  1.0525703146413434e-05\n",
      "################################  2449  ################################\n",
      "Loss:  1.051762683346169e-05\n",
      "################################  2450  ################################\n",
      "Loss:  1.0509382263990119e-05\n",
      "################################  2451  ################################\n",
      "Loss:  1.0501378710614517e-05\n",
      "################################  2452  ################################\n",
      "Loss:  1.0494468369870447e-05\n",
      "################################  2453  ################################\n",
      "Loss:  1.0487531653780024e-05\n",
      "################################  2454  ################################\n",
      "Loss:  1.0480078344698995e-05\n",
      "################################  2455  ################################\n",
      "Loss:  1.0472371286596172e-05\n",
      "################################  2456  ################################\n",
      "Loss:  1.0465504601597786e-05\n",
      "################################  2457  ################################\n",
      "Loss:  1.045828867063392e-05\n",
      "################################  2458  ################################\n",
      "Loss:  1.0451454727444798e-05\n",
      "################################  2459  ################################\n",
      "Loss:  1.0443523024150636e-05\n",
      "################################  2460  ################################\n",
      "Loss:  1.043393240252044e-05\n",
      "################################  2461  ################################\n",
      "Loss:  1.0425116670376156e-05\n",
      "################################  2462  ################################\n",
      "Loss:  1.041624909703387e-05\n",
      "################################  2463  ################################\n",
      "Loss:  1.0407246918475721e-05\n",
      "################################  2464  ################################\n",
      "Loss:  1.0397155165264849e-05\n",
      "################################  2465  ################################\n",
      "Loss:  1.0387309885118157e-05\n",
      "################################  2466  ################################\n",
      "Loss:  1.0378512342867907e-05\n",
      "################################  2467  ################################\n",
      "Loss:  1.0367044524173252e-05\n",
      "################################  2468  ################################\n",
      "Loss:  1.0358670806454029e-05\n",
      "################################  2469  ################################\n",
      "Loss:  1.0347101124352776e-05\n",
      "################################  2470  ################################\n",
      "Loss:  1.0333859790989663e-05\n",
      "################################  2471  ################################\n",
      "Loss:  1.0316617590433452e-05\n",
      "################################  2472  ################################\n",
      "Loss:  1.030032399285119e-05\n",
      "################################  2473  ################################\n",
      "Loss:  1.028162023430923e-05\n",
      "################################  2474  ################################\n",
      "Loss:  1.0260309863951989e-05\n",
      "################################  2475  ################################\n",
      "Loss:  1.0241002200928051e-05\n",
      "################################  2476  ################################\n",
      "Loss:  1.0219357136520557e-05\n",
      "################################  2477  ################################\n",
      "Loss:  1.0200596989307087e-05\n",
      "################################  2478  ################################\n",
      "Loss:  1.018202328850748e-05\n",
      "################################  2479  ################################\n",
      "Loss:  1.0160906640521716e-05\n",
      "################################  2480  ################################\n",
      "Loss:  1.0142959581571631e-05\n",
      "################################  2481  ################################\n",
      "Loss:  1.0122594176209532e-05\n",
      "################################  2482  ################################\n",
      "Loss:  1.0107300113304518e-05\n",
      "################################  2483  ################################\n",
      "Loss:  1.0091412150359247e-05\n",
      "################################  2484  ################################\n",
      "Loss:  1.007185346679762e-05\n",
      "################################  2485  ################################\n",
      "Loss:  1.0058927728096023e-05\n",
      "################################  2486  ################################\n",
      "Loss:  1.0046355782833416e-05\n",
      "################################  2487  ################################\n",
      "Loss:  1.0033102626039181e-05\n",
      "################################  2488  ################################\n",
      "Loss:  1.0019068213296123e-05\n",
      "################################  2489  ################################\n",
      "Loss:  1.0004977411881555e-05\n",
      "################################  2490  ################################\n",
      "Loss:  9.98965697363019e-06\n",
      "################################  2491  ################################\n",
      "Loss:  9.977718036680017e-06\n",
      "################################  2492  ################################\n",
      "Loss:  9.966425750462804e-06\n",
      "################################  2493  ################################\n",
      "Loss:  9.957951078831684e-06\n",
      "################################  2494  ################################\n",
      "Loss:  9.945521014742553e-06\n",
      "################################  2495  ################################\n",
      "Loss:  9.939009032677859e-06\n",
      "################################  2496  ################################\n",
      "Loss:  9.932748980645556e-06\n",
      "################################  2497  ################################\n",
      "Loss:  9.922801837092265e-06\n",
      "################################  2498  ################################\n",
      "Loss:  9.915089322021231e-06\n",
      "################################  2499  ################################\n",
      "Loss:  9.905578735924792e-06\n",
      "################################  2500  ################################\n",
      "Loss:  9.893549758999143e-06\n",
      "################################  2501  ################################\n",
      "Loss:  9.880305697151925e-06\n",
      "################################  2502  ################################\n",
      "Loss:  9.865592801361345e-06\n",
      "################################  2503  ################################\n",
      "Loss:  9.850809874478728e-06\n",
      "################################  2504  ################################\n",
      "Loss:  9.835615855990909e-06\n",
      "################################  2505  ################################\n",
      "Loss:  9.820487321121618e-06\n",
      "################################  2506  ################################\n",
      "Loss:  9.804977707972284e-06\n",
      "################################  2507  ################################\n",
      "Loss:  9.789594514586497e-06\n",
      "################################  2508  ################################\n",
      "Loss:  9.774114914762322e-06\n",
      "################################  2509  ################################\n",
      "Loss:  9.757343832461629e-06\n",
      "################################  2510  ################################\n",
      "Loss:  9.744038834469393e-06\n",
      "################################  2511  ################################\n",
      "Loss:  9.73037094809115e-06\n",
      "################################  2512  ################################\n",
      "Loss:  9.718989531393163e-06\n",
      "################################  2513  ################################\n",
      "Loss:  9.708903235150501e-06\n",
      "################################  2514  ################################\n",
      "Loss:  9.69712436926784e-06\n",
      "################################  2515  ################################\n",
      "Loss:  9.684782526164781e-06\n",
      "################################  2516  ################################\n",
      "Loss:  9.672079613665119e-06\n",
      "################################  2517  ################################\n",
      "Loss:  9.657599548518192e-06\n",
      "################################  2518  ################################\n",
      "Loss:  9.643327757657971e-06\n",
      "################################  2519  ################################\n",
      "Loss:  9.630542081140447e-06\n",
      "################################  2520  ################################\n",
      "Loss:  9.617140676709823e-06\n",
      "################################  2521  ################################\n",
      "Loss:  9.6044068413903e-06\n",
      "################################  2522  ################################\n",
      "Loss:  9.591793968866114e-06\n",
      "################################  2523  ################################\n",
      "Loss:  9.57988049776759e-06\n",
      "################################  2524  ################################\n",
      "Loss:  9.569151188770775e-06\n",
      "################################  2525  ################################\n",
      "Loss:  9.556828445056453e-06\n",
      "################################  2526  ################################\n",
      "Loss:  9.546206456434447e-06\n",
      "################################  2527  ################################\n",
      "Loss:  9.535869139654096e-06\n",
      "################################  2528  ################################\n",
      "Loss:  9.524987035547383e-06\n",
      "################################  2529  ################################\n",
      "Loss:  9.513388249615673e-06\n",
      "################################  2530  ################################\n",
      "Loss:  9.503104593022726e-06\n",
      "################################  2531  ################################\n",
      "Loss:  9.491298442299012e-06\n",
      "################################  2532  ################################\n",
      "Loss:  9.479162144998554e-06\n",
      "################################  2533  ################################\n",
      "Loss:  9.46714590099873e-06\n",
      "################################  2534  ################################\n",
      "Loss:  9.453975508222356e-06\n",
      "################################  2535  ################################\n",
      "Loss:  9.442506780033e-06\n",
      "################################  2536  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  9.431378202862106e-06\n",
      "################################  2537  ################################\n",
      "Loss:  9.41993039305089e-06\n",
      "################################  2538  ################################\n",
      "Loss:  9.409445738128852e-06\n",
      "################################  2539  ################################\n",
      "Loss:  9.399114787811413e-06\n",
      "################################  2540  ################################\n",
      "Loss:  9.389841579832137e-06\n",
      "################################  2541  ################################\n",
      "Loss:  9.380705705552828e-06\n",
      "################################  2542  ################################\n",
      "Loss:  9.37004733714275e-06\n",
      "################################  2543  ################################\n",
      "Loss:  9.361841875943355e-06\n",
      "################################  2544  ################################\n",
      "Loss:  9.353136192657985e-06\n",
      "################################  2545  ################################\n",
      "Loss:  9.345622856926639e-06\n",
      "################################  2546  ################################\n",
      "Loss:  9.337468327430543e-06\n",
      "################################  2547  ################################\n",
      "Loss:  9.328080523118842e-06\n",
      "################################  2548  ################################\n",
      "Loss:  9.317855983681511e-06\n",
      "################################  2549  ################################\n",
      "Loss:  9.308428161602933e-06\n",
      "################################  2550  ################################\n",
      "Loss:  9.299406883656047e-06\n",
      "################################  2551  ################################\n",
      "Loss:  9.289300578529947e-06\n",
      "################################  2552  ################################\n",
      "Loss:  9.28037115954794e-06\n",
      "################################  2553  ################################\n",
      "Loss:  9.271056114812382e-06\n",
      "################################  2554  ################################\n",
      "Loss:  9.26260599953821e-06\n",
      "################################  2555  ################################\n",
      "Loss:  9.253786629415117e-06\n",
      "################################  2556  ################################\n",
      "Loss:  9.243908607459161e-06\n",
      "################################  2557  ################################\n",
      "Loss:  9.233649507223163e-06\n",
      "################################  2558  ################################\n",
      "Loss:  9.224192581314128e-06\n",
      "################################  2559  ################################\n",
      "Loss:  9.214387318934314e-06\n",
      "################################  2560  ################################\n",
      "Loss:  9.20620277611306e-06\n",
      "################################  2561  ################################\n",
      "Loss:  9.196839528158307e-06\n",
      "################################  2562  ################################\n",
      "Loss:  9.187951945932582e-06\n",
      "################################  2563  ################################\n",
      "Loss:  9.17928628041409e-06\n",
      "################################  2564  ################################\n",
      "Loss:  9.169913028017618e-06\n",
      "################################  2565  ################################\n",
      "Loss:  9.160122317553032e-06\n",
      "################################  2566  ################################\n",
      "Loss:  9.149664037977345e-06\n",
      "################################  2567  ################################\n",
      "Loss:  9.140941074292641e-06\n",
      "################################  2568  ################################\n",
      "Loss:  9.131882507062983e-06\n",
      "################################  2569  ################################\n",
      "Loss:  9.123443305725232e-06\n",
      "################################  2570  ################################\n",
      "Loss:  9.114781278185546e-06\n",
      "################################  2571  ################################\n",
      "Loss:  9.104716809815727e-06\n",
      "################################  2572  ################################\n",
      "Loss:  9.093710104934871e-06\n",
      "################################  2573  ################################\n",
      "Loss:  9.083853001357056e-06\n",
      "################################  2574  ################################\n",
      "Loss:  9.073012734006625e-06\n",
      "################################  2575  ################################\n",
      "Loss:  9.063338438863866e-06\n",
      "################################  2576  ################################\n",
      "Loss:  9.052727364178281e-06\n",
      "################################  2577  ################################\n",
      "Loss:  9.041997145686764e-06\n",
      "################################  2578  ################################\n",
      "Loss:  9.029709872265812e-06\n",
      "################################  2579  ################################\n",
      "Loss:  9.016695912578143e-06\n",
      "################################  2580  ################################\n",
      "Loss:  9.003098057291936e-06\n",
      "################################  2581  ################################\n",
      "Loss:  8.989328307507094e-06\n",
      "################################  2582  ################################\n",
      "Loss:  8.97639347385848e-06\n",
      "################################  2583  ################################\n",
      "Loss:  8.962341780716088e-06\n",
      "################################  2584  ################################\n",
      "Loss:  8.950274605012964e-06\n",
      "################################  2585  ################################\n",
      "Loss:  8.93848391569918e-06\n",
      "################################  2586  ################################\n",
      "Loss:  8.926527698349673e-06\n",
      "################################  2587  ################################\n",
      "Loss:  8.915017133404035e-06\n",
      "################################  2588  ################################\n",
      "Loss:  8.904145033739042e-06\n",
      "################################  2589  ################################\n",
      "Loss:  8.893656740838196e-06\n",
      "################################  2590  ################################\n",
      "Loss:  8.882674592314288e-06\n",
      "################################  2591  ################################\n",
      "Loss:  8.872311809682287e-06\n",
      "################################  2592  ################################\n",
      "Loss:  8.860767593432683e-06\n",
      "################################  2593  ################################\n",
      "Loss:  8.851525308273267e-06\n",
      "################################  2594  ################################\n",
      "Loss:  8.841690032568295e-06\n",
      "################################  2595  ################################\n",
      "Loss:  8.83057600731263e-06\n",
      "################################  2596  ################################\n",
      "Loss:  8.817923117021564e-06\n",
      "################################  2597  ################################\n",
      "Loss:  8.808186066744383e-06\n",
      "################################  2598  ################################\n",
      "Loss:  8.79830895428313e-06\n",
      "################################  2599  ################################\n",
      "Loss:  8.787198567006271e-06\n",
      "################################  2600  ################################\n",
      "Loss:  8.7769021774875e-06\n",
      "################################  2601  ################################\n",
      "Loss:  8.766958671913017e-06\n",
      "################################  2602  ################################\n",
      "Loss:  8.756191164138727e-06\n",
      "################################  2603  ################################\n",
      "Loss:  8.746264029468875e-06\n",
      "################################  2604  ################################\n",
      "Loss:  8.736238669371232e-06\n",
      "################################  2605  ################################\n",
      "Loss:  8.726536179892719e-06\n",
      "################################  2606  ################################\n",
      "Loss:  8.716870979696978e-06\n",
      "################################  2607  ################################\n",
      "Loss:  8.707744200364687e-06\n",
      "################################  2608  ################################\n",
      "Loss:  8.697294106241316e-06\n",
      "################################  2609  ################################\n",
      "Loss:  8.688039997650776e-06\n",
      "################################  2610  ################################\n",
      "Loss:  8.67901326273568e-06\n",
      "################################  2611  ################################\n",
      "Loss:  8.668794180266559e-06\n",
      "################################  2612  ################################\n",
      "Loss:  8.659105333208572e-06\n",
      "################################  2613  ################################\n",
      "Loss:  8.649323717691004e-06\n",
      "################################  2614  ################################\n",
      "Loss:  8.640308806207031e-06\n",
      "################################  2615  ################################\n",
      "Loss:  8.630568117951043e-06\n",
      "################################  2616  ################################\n",
      "Loss:  8.622541827207897e-06\n",
      "################################  2617  ################################\n",
      "Loss:  8.613869795226492e-06\n",
      "################################  2618  ################################\n",
      "Loss:  8.603687092545442e-06\n",
      "################################  2619  ################################\n",
      "Loss:  8.593813618062995e-06\n",
      "################################  2620  ################################\n",
      "Loss:  8.584358511143364e-06\n",
      "################################  2621  ################################\n",
      "Loss:  8.573880222684238e-06\n",
      "################################  2622  ################################\n",
      "Loss:  8.564672498323489e-06\n",
      "################################  2623  ################################\n",
      "Loss:  8.555077329219785e-06\n",
      "################################  2624  ################################\n",
      "Loss:  8.54460449772887e-06\n",
      "################################  2625  ################################\n",
      "Loss:  8.534520020475611e-06\n",
      "################################  2626  ################################\n",
      "Loss:  8.525137673132122e-06\n",
      "################################  2627  ################################\n",
      "Loss:  8.516060006513726e-06\n",
      "################################  2628  ################################\n",
      "Loss:  8.506555786880199e-06\n",
      "################################  2629  ################################\n",
      "Loss:  8.498366696585435e-06\n",
      "################################  2630  ################################\n",
      "Loss:  8.490201253152918e-06\n",
      "################################  2631  ################################\n",
      "Loss:  8.481601071252953e-06\n",
      "################################  2632  ################################\n",
      "Loss:  8.47380670165876e-06\n",
      "################################  2633  ################################\n",
      "Loss:  8.465774953947403e-06\n",
      "################################  2634  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  8.459101991320495e-06\n",
      "################################  2635  ################################\n",
      "Loss:  8.452025213046e-06\n",
      "################################  2636  ################################\n",
      "Loss:  8.445004823443014e-06\n",
      "################################  2637  ################################\n",
      "Loss:  8.438170880253892e-06\n",
      "################################  2638  ################################\n",
      "Loss:  8.431492460658774e-06\n",
      "################################  2639  ################################\n",
      "Loss:  8.425575288129039e-06\n",
      "################################  2640  ################################\n",
      "Loss:  8.41947075969074e-06\n",
      "################################  2641  ################################\n",
      "Loss:  8.413316209043842e-06\n",
      "################################  2642  ################################\n",
      "Loss:  8.408020221395418e-06\n",
      "################################  2643  ################################\n",
      "Loss:  8.402484127145726e-06\n",
      "################################  2644  ################################\n",
      "Loss:  8.396941666433122e-06\n",
      "################################  2645  ################################\n",
      "Loss:  8.391416486119851e-06\n",
      "################################  2646  ################################\n",
      "Loss:  8.38578853290528e-06\n",
      "################################  2647  ################################\n",
      "Loss:  8.38121741253417e-06\n",
      "################################  2648  ################################\n",
      "Loss:  8.375826837436762e-06\n",
      "################################  2649  ################################\n",
      "Loss:  8.37036259326851e-06\n",
      "################################  2650  ################################\n",
      "Loss:  8.364519089809619e-06\n",
      "################################  2651  ################################\n",
      "Loss:  8.358557352039497e-06\n",
      "################################  2652  ################################\n",
      "Loss:  8.352813892997801e-06\n",
      "################################  2653  ################################\n",
      "Loss:  8.346735739905853e-06\n",
      "################################  2654  ################################\n",
      "Loss:  8.3400400399114e-06\n",
      "################################  2655  ################################\n",
      "Loss:  8.334442100021988e-06\n",
      "################################  2656  ################################\n",
      "Loss:  8.326786883117165e-06\n",
      "################################  2657  ################################\n",
      "Loss:  8.31915622256929e-06\n",
      "################################  2658  ################################\n",
      "Loss:  8.30822409625398e-06\n",
      "################################  2659  ################################\n",
      "Loss:  8.298408829432447e-06\n",
      "################################  2660  ################################\n",
      "Loss:  8.287195669254288e-06\n",
      "################################  2661  ################################\n",
      "Loss:  8.274257197626866e-06\n",
      "################################  2662  ################################\n",
      "Loss:  8.259824426204432e-06\n",
      "################################  2663  ################################\n",
      "Loss:  8.248497579188552e-06\n",
      "################################  2664  ################################\n",
      "Loss:  8.237317160819657e-06\n",
      "################################  2665  ################################\n",
      "Loss:  8.224147677537985e-06\n",
      "################################  2666  ################################\n",
      "Loss:  8.213183718908112e-06\n",
      "################################  2667  ################################\n",
      "Loss:  8.200466254493222e-06\n",
      "################################  2668  ################################\n",
      "Loss:  8.18676835478982e-06\n",
      "################################  2669  ################################\n",
      "Loss:  8.172839443432167e-06\n",
      "################################  2670  ################################\n",
      "Loss:  8.162051017279737e-06\n",
      "################################  2671  ################################\n",
      "Loss:  8.151147085300181e-06\n",
      "################################  2672  ################################\n",
      "Loss:  8.137152690324001e-06\n",
      "################################  2673  ################################\n",
      "Loss:  8.126732609525789e-06\n",
      "################################  2674  ################################\n",
      "Loss:  8.116336175589822e-06\n",
      "################################  2675  ################################\n",
      "Loss:  8.105664164759219e-06\n",
      "################################  2676  ################################\n",
      "Loss:  8.094534678093623e-06\n",
      "################################  2677  ################################\n",
      "Loss:  8.084568435151596e-06\n",
      "################################  2678  ################################\n",
      "Loss:  8.075207915680949e-06\n",
      "################################  2679  ################################\n",
      "Loss:  8.06456955615431e-06\n",
      "################################  2680  ################################\n",
      "Loss:  8.05480158305727e-06\n",
      "################################  2681  ################################\n",
      "Loss:  8.044507012527902e-06\n",
      "################################  2682  ################################\n",
      "Loss:  8.034880011109635e-06\n",
      "################################  2683  ################################\n",
      "Loss:  8.025546776480041e-06\n",
      "################################  2684  ################################\n",
      "Loss:  8.014143531909212e-06\n",
      "################################  2685  ################################\n",
      "Loss:  8.004731171240564e-06\n",
      "################################  2686  ################################\n",
      "Loss:  7.994482075446285e-06\n",
      "################################  2687  ################################\n",
      "Loss:  7.985607226146385e-06\n",
      "################################  2688  ################################\n",
      "Loss:  7.974240361363627e-06\n",
      "################################  2689  ################################\n",
      "Loss:  7.965325494296849e-06\n",
      "################################  2690  ################################\n",
      "Loss:  7.954336979310028e-06\n",
      "################################  2691  ################################\n",
      "Loss:  7.941896001284476e-06\n",
      "################################  2692  ################################\n",
      "Loss:  7.929122148198076e-06\n",
      "################################  2693  ################################\n",
      "Loss:  7.916680260677822e-06\n",
      "################################  2694  ################################\n",
      "Loss:  7.900382115622051e-06\n",
      "################################  2695  ################################\n",
      "Loss:  7.890162123658229e-06\n",
      "################################  2696  ################################\n",
      "Loss:  7.880787961767055e-06\n",
      "################################  2697  ################################\n",
      "Loss:  7.870921763242222e-06\n",
      "################################  2698  ################################\n",
      "Loss:  7.862966413085815e-06\n",
      "################################  2699  ################################\n",
      "Loss:  7.854887371649966e-06\n",
      "################################  2700  ################################\n",
      "Loss:  7.846550033718813e-06\n",
      "################################  2701  ################################\n",
      "Loss:  7.83907944423845e-06\n",
      "################################  2702  ################################\n",
      "Loss:  7.832883966329973e-06\n",
      "################################  2703  ################################\n",
      "Loss:  7.826815817679744e-06\n",
      "################################  2704  ################################\n",
      "Loss:  7.82174538471736e-06\n",
      "################################  2705  ################################\n",
      "Loss:  7.816358447598759e-06\n",
      "################################  2706  ################################\n",
      "Loss:  7.811137948010582e-06\n",
      "################################  2707  ################################\n",
      "Loss:  7.806225767126307e-06\n",
      "################################  2708  ################################\n",
      "Loss:  7.801124411344063e-06\n",
      "################################  2709  ################################\n",
      "Loss:  7.795950295985676e-06\n",
      "################################  2710  ################################\n",
      "Loss:  7.790515155647881e-06\n",
      "################################  2711  ################################\n",
      "Loss:  7.784530680510215e-06\n",
      "################################  2712  ################################\n",
      "Loss:  7.779237421345897e-06\n",
      "################################  2713  ################################\n",
      "Loss:  7.773834113322664e-06\n",
      "################################  2714  ################################\n",
      "Loss:  7.768718205625191e-06\n",
      "################################  2715  ################################\n",
      "Loss:  7.76367960497737e-06\n",
      "################################  2716  ################################\n",
      "Loss:  7.757751518511213e-06\n",
      "################################  2717  ################################\n",
      "Loss:  7.751509656372946e-06\n",
      "################################  2718  ################################\n",
      "Loss:  7.745434231765103e-06\n",
      "################################  2719  ################################\n",
      "Loss:  7.739679858786985e-06\n",
      "################################  2720  ################################\n",
      "Loss:  7.733327947789803e-06\n",
      "################################  2721  ################################\n",
      "Loss:  7.726906915195286e-06\n",
      "################################  2722  ################################\n",
      "Loss:  7.720534995314665e-06\n",
      "################################  2723  ################################\n",
      "Loss:  7.713832019362599e-06\n",
      "################################  2724  ################################\n",
      "Loss:  7.706923497607931e-06\n",
      "################################  2725  ################################\n",
      "Loss:  7.699342859268654e-06\n",
      "################################  2726  ################################\n",
      "Loss:  7.691313840041403e-06\n",
      "################################  2727  ################################\n",
      "Loss:  7.683353942411486e-06\n",
      "################################  2728  ################################\n",
      "Loss:  7.675545930396765e-06\n",
      "################################  2729  ################################\n",
      "Loss:  7.667405043321196e-06\n",
      "################################  2730  ################################\n",
      "Loss:  7.660178198420908e-06\n",
      "################################  2731  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  7.652773092559073e-06\n",
      "################################  2732  ################################\n",
      "Loss:  7.64559990784619e-06\n",
      "################################  2733  ################################\n",
      "Loss:  7.63901789468946e-06\n",
      "################################  2734  ################################\n",
      "Loss:  7.632417691638693e-06\n",
      "################################  2735  ################################\n",
      "Loss:  7.626282240380533e-06\n",
      "################################  2736  ################################\n",
      "Loss:  7.620486030646134e-06\n",
      "################################  2737  ################################\n",
      "Loss:  7.6150695349497255e-06\n",
      "################################  2738  ################################\n",
      "Loss:  7.609348813275574e-06\n",
      "################################  2739  ################################\n",
      "Loss:  7.604152415296994e-06\n",
      "################################  2740  ################################\n",
      "Loss:  7.598949650855502e-06\n",
      "################################  2741  ################################\n",
      "Loss:  7.5937973633699585e-06\n",
      "################################  2742  ################################\n",
      "Loss:  7.588922017021105e-06\n",
      "################################  2743  ################################\n",
      "Loss:  7.583145816170145e-06\n",
      "################################  2744  ################################\n",
      "Loss:  7.578043096145848e-06\n",
      "################################  2745  ################################\n",
      "Loss:  7.573102266178466e-06\n",
      "################################  2746  ################################\n",
      "Loss:  7.568114142486593e-06\n",
      "################################  2747  ################################\n",
      "Loss:  7.562638529634569e-06\n",
      "################################  2748  ################################\n",
      "Loss:  7.557588560302975e-06\n",
      "################################  2749  ################################\n",
      "Loss:  7.551197086286265e-06\n",
      "################################  2750  ################################\n",
      "Loss:  7.546684173576068e-06\n",
      "################################  2751  ################################\n",
      "Loss:  7.53837457523332e-06\n",
      "################################  2752  ################################\n",
      "Loss:  7.532343261118513e-06\n",
      "################################  2753  ################################\n",
      "Loss:  7.522992291342234e-06\n",
      "################################  2754  ################################\n",
      "Loss:  7.51348943595076e-06\n",
      "################################  2755  ################################\n",
      "Loss:  7.5013026616943534e-06\n",
      "################################  2756  ################################\n",
      "Loss:  7.491016276617302e-06\n",
      "################################  2757  ################################\n",
      "Loss:  7.478030511265388e-06\n",
      "################################  2758  ################################\n",
      "Loss:  7.465836461051367e-06\n",
      "################################  2759  ################################\n",
      "Loss:  7.451965757354628e-06\n",
      "################################  2760  ################################\n",
      "Loss:  7.439475666615181e-06\n",
      "################################  2761  ################################\n",
      "Loss:  7.422853741445579e-06\n",
      "################################  2762  ################################\n",
      "Loss:  7.409310455841478e-06\n",
      "################################  2763  ################################\n",
      "Loss:  7.395757165795658e-06\n",
      "################################  2764  ################################\n",
      "Loss:  7.380807801382616e-06\n",
      "################################  2765  ################################\n",
      "Loss:  7.368251317529939e-06\n",
      "################################  2766  ################################\n",
      "Loss:  7.3565543061704375e-06\n",
      "################################  2767  ################################\n",
      "Loss:  7.343421202676836e-06\n",
      "################################  2768  ################################\n",
      "Loss:  7.330633707169909e-06\n",
      "################################  2769  ################################\n",
      "Loss:  7.317559720831923e-06\n",
      "################################  2770  ################################\n",
      "Loss:  7.304387509066146e-06\n",
      "################################  2771  ################################\n",
      "Loss:  7.291782367246924e-06\n",
      "################################  2772  ################################\n",
      "Loss:  7.280041245394386e-06\n",
      "################################  2773  ################################\n",
      "Loss:  7.2698430813034065e-06\n",
      "################################  2774  ################################\n",
      "Loss:  7.25856943972758e-06\n",
      "################################  2775  ################################\n",
      "Loss:  7.248623660416342e-06\n",
      "################################  2776  ################################\n",
      "Loss:  7.238780199259054e-06\n",
      "################################  2777  ################################\n",
      "Loss:  7.229619313875446e-06\n",
      "################################  2778  ################################\n",
      "Loss:  7.220998668344691e-06\n",
      "################################  2779  ################################\n",
      "Loss:  7.210182502603857e-06\n",
      "################################  2780  ################################\n",
      "Loss:  7.2017915044853e-06\n",
      "################################  2781  ################################\n",
      "Loss:  7.192390512500424e-06\n",
      "################################  2782  ################################\n",
      "Loss:  7.181664841482416e-06\n",
      "################################  2783  ################################\n",
      "Loss:  7.171159268182237e-06\n",
      "################################  2784  ################################\n",
      "Loss:  7.1600893534196075e-06\n",
      "################################  2785  ################################\n",
      "Loss:  7.1503045546705835e-06\n",
      "################################  2786  ################################\n",
      "Loss:  7.142757112887921e-06\n",
      "################################  2787  ################################\n",
      "Loss:  7.134101451811148e-06\n",
      "################################  2788  ################################\n",
      "Loss:  7.124980584194418e-06\n",
      "################################  2789  ################################\n",
      "Loss:  7.115595508366823e-06\n",
      "################################  2790  ################################\n",
      "Loss:  7.105758413672447e-06\n",
      "################################  2791  ################################\n",
      "Loss:  7.089041901053861e-06\n",
      "################################  2792  ################################\n",
      "Loss:  7.082496267685201e-06\n",
      "################################  2793  ################################\n",
      "Loss:  7.075735538819572e-06\n",
      "################################  2794  ################################\n",
      "Loss:  7.067926162562799e-06\n",
      "################################  2795  ################################\n",
      "Loss:  7.05957017999026e-06\n",
      "################################  2796  ################################\n",
      "Loss:  7.050583008094691e-06\n",
      "################################  2797  ################################\n",
      "Loss:  7.040589025564259e-06\n",
      "################################  2798  ################################\n",
      "Loss:  7.032761914160801e-06\n",
      "################################  2799  ################################\n",
      "Loss:  7.024907063168939e-06\n",
      "################################  2800  ################################\n",
      "Loss:  7.017618827376282e-06\n",
      "################################  2801  ################################\n",
      "Loss:  7.0101582423376385e-06\n",
      "################################  2802  ################################\n",
      "Loss:  7.0030287133704405e-06\n",
      "################################  2803  ################################\n",
      "Loss:  6.9960196924512275e-06\n",
      "################################  2804  ################################\n",
      "Loss:  6.987824235693552e-06\n",
      "################################  2805  ################################\n",
      "Loss:  6.980752914387267e-06\n",
      "################################  2806  ################################\n",
      "Loss:  6.973758445383282e-06\n",
      "################################  2807  ################################\n",
      "Loss:  6.9649499891966116e-06\n",
      "################################  2808  ################################\n",
      "Loss:  6.955326171009801e-06\n",
      "################################  2809  ################################\n",
      "Loss:  6.945531822566409e-06\n",
      "################################  2810  ################################\n",
      "Loss:  6.934887551324209e-06\n",
      "################################  2811  ################################\n",
      "Loss:  6.924638000782579e-06\n",
      "################################  2812  ################################\n",
      "Loss:  6.91360401106067e-06\n",
      "################################  2813  ################################\n",
      "Loss:  6.901396773173474e-06\n",
      "################################  2814  ################################\n",
      "Loss:  6.888181360409362e-06\n",
      "################################  2815  ################################\n",
      "Loss:  6.876605311845196e-06\n",
      "################################  2816  ################################\n",
      "Loss:  6.863903308840236e-06\n",
      "################################  2817  ################################\n",
      "Loss:  6.8503700276778545e-06\n",
      "################################  2818  ################################\n",
      "Loss:  6.835864041931927e-06\n",
      "################################  2819  ################################\n",
      "Loss:  6.823405328759691e-06\n",
      "################################  2820  ################################\n",
      "Loss:  6.810136255808175e-06\n",
      "################################  2821  ################################\n",
      "Loss:  6.795851732022129e-06\n",
      "################################  2822  ################################\n",
      "Loss:  6.780916010029614e-06\n",
      "################################  2823  ################################\n",
      "Loss:  6.767014383513015e-06\n",
      "################################  2824  ################################\n",
      "Loss:  6.752410627086647e-06\n",
      "################################  2825  ################################\n",
      "Loss:  6.740889602951938e-06\n",
      "################################  2826  ################################\n",
      "Loss:  6.729829237883678e-06\n",
      "################################  2827  ################################\n",
      "Loss:  6.718649274262134e-06\n",
      "################################  2828  ################################\n",
      "Loss:  6.707916327286512e-06\n",
      "################################  2829  ################################\n",
      "Loss:  6.69673727315967e-06\n",
      "################################  2830  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  6.685819244012237e-06\n",
      "################################  2831  ################################\n",
      "Loss:  6.676260454696603e-06\n",
      "################################  2832  ################################\n",
      "Loss:  6.667137313343119e-06\n",
      "################################  2833  ################################\n",
      "Loss:  6.65812967781676e-06\n",
      "################################  2834  ################################\n",
      "Loss:  6.649885108345188e-06\n",
      "################################  2835  ################################\n",
      "Loss:  6.640601441176841e-06\n",
      "################################  2836  ################################\n",
      "Loss:  6.632833901676349e-06\n",
      "################################  2837  ################################\n",
      "Loss:  6.624832167290151e-06\n",
      "################################  2838  ################################\n",
      "Loss:  6.616778136958601e-06\n",
      "################################  2839  ################################\n",
      "Loss:  6.608740022784332e-06\n",
      "################################  2840  ################################\n",
      "Loss:  6.599385869776597e-06\n",
      "################################  2841  ################################\n",
      "Loss:  6.589665190404048e-06\n",
      "################################  2842  ################################\n",
      "Loss:  6.580584340554196e-06\n",
      "################################  2843  ################################\n",
      "Loss:  6.571653102582786e-06\n",
      "################################  2844  ################################\n",
      "Loss:  6.5627159528958146e-06\n",
      "################################  2845  ################################\n",
      "Loss:  6.553442290169187e-06\n",
      "################################  2846  ################################\n",
      "Loss:  6.5438589444966055e-06\n",
      "################################  2847  ################################\n",
      "Loss:  6.534853582707001e-06\n",
      "################################  2848  ################################\n",
      "Loss:  6.524903255922254e-06\n",
      "################################  2849  ################################\n",
      "Loss:  6.516746452689404e-06\n",
      "################################  2850  ################################\n",
      "Loss:  6.506680620077532e-06\n",
      "################################  2851  ################################\n",
      "Loss:  6.4926994127745274e-06\n",
      "################################  2852  ################################\n",
      "Loss:  6.480909178208094e-06\n",
      "################################  2853  ################################\n",
      "Loss:  6.468878382293042e-06\n",
      "################################  2854  ################################\n",
      "Loss:  6.457146810134873e-06\n",
      "################################  2855  ################################\n",
      "Loss:  6.445973667723592e-06\n",
      "################################  2856  ################################\n",
      "Loss:  6.433482667489443e-06\n",
      "################################  2857  ################################\n",
      "Loss:  6.422515525628114e-06\n",
      "################################  2858  ################################\n",
      "Loss:  6.41005817669793e-06\n",
      "################################  2859  ################################\n",
      "Loss:  6.395775926648639e-06\n",
      "################################  2860  ################################\n",
      "Loss:  6.381329058058327e-06\n",
      "################################  2861  ################################\n",
      "Loss:  6.367530659190379e-06\n",
      "################################  2862  ################################\n",
      "Loss:  6.354578545142431e-06\n",
      "################################  2863  ################################\n",
      "Loss:  6.341892458294751e-06\n",
      "################################  2864  ################################\n",
      "Loss:  6.330040378088597e-06\n",
      "################################  2865  ################################\n",
      "Loss:  6.318891792034265e-06\n",
      "################################  2866  ################################\n",
      "Loss:  6.307962394203059e-06\n",
      "################################  2867  ################################\n",
      "Loss:  6.29790793027496e-06\n",
      "################################  2868  ################################\n",
      "Loss:  6.2882354541216046e-06\n",
      "################################  2869  ################################\n",
      "Loss:  6.279794888541801e-06\n",
      "################################  2870  ################################\n",
      "Loss:  6.27101735517499e-06\n",
      "################################  2871  ################################\n",
      "Loss:  6.262967872316949e-06\n",
      "################################  2872  ################################\n",
      "Loss:  6.255871085159015e-06\n",
      "################################  2873  ################################\n",
      "Loss:  6.248338195291581e-06\n",
      "################################  2874  ################################\n",
      "Loss:  6.2419821915682405e-06\n",
      "################################  2875  ################################\n",
      "Loss:  6.235756245587254e-06\n",
      "################################  2876  ################################\n",
      "Loss:  6.230247890925966e-06\n",
      "################################  2877  ################################\n",
      "Loss:  6.225209745025495e-06\n",
      "################################  2878  ################################\n",
      "Loss:  6.219836450327421e-06\n",
      "################################  2879  ################################\n",
      "Loss:  6.215434041223489e-06\n",
      "################################  2880  ################################\n",
      "Loss:  6.211003437783802e-06\n",
      "################################  2881  ################################\n",
      "Loss:  6.206797934282804e-06\n",
      "################################  2882  ################################\n",
      "Loss:  6.20276387053309e-06\n",
      "################################  2883  ################################\n",
      "Loss:  6.199269137141528e-06\n",
      "################################  2884  ################################\n",
      "Loss:  6.195511559781153e-06\n",
      "################################  2885  ################################\n",
      "Loss:  6.191710326675093e-06\n",
      "################################  2886  ################################\n",
      "Loss:  6.1877385633124504e-06\n",
      "################################  2887  ################################\n",
      "Loss:  6.1842733884986956e-06\n",
      "################################  2888  ################################\n",
      "Loss:  6.179123374749906e-06\n",
      "################################  2889  ################################\n",
      "Loss:  6.17587784290663e-06\n",
      "################################  2890  ################################\n",
      "Loss:  6.172263965709135e-06\n",
      "################################  2891  ################################\n",
      "Loss:  6.167867468320765e-06\n",
      "################################  2892  ################################\n",
      "Loss:  6.163707439554855e-06\n",
      "################################  2893  ################################\n",
      "Loss:  6.1587638811033685e-06\n",
      "################################  2894  ################################\n",
      "Loss:  6.152073183329776e-06\n",
      "################################  2895  ################################\n",
      "Loss:  6.14559121459024e-06\n",
      "################################  2896  ################################\n",
      "Loss:  6.139996003184933e-06\n",
      "################################  2897  ################################\n",
      "Loss:  6.134011982794618e-06\n",
      "################################  2898  ################################\n",
      "Loss:  6.12748772255145e-06\n",
      "################################  2899  ################################\n",
      "Loss:  6.120760644989787e-06\n",
      "################################  2900  ################################\n",
      "Loss:  6.114772077125963e-06\n",
      "################################  2901  ################################\n",
      "Loss:  6.10796314504114e-06\n",
      "################################  2902  ################################\n",
      "Loss:  6.099900474509923e-06\n",
      "################################  2903  ################################\n",
      "Loss:  6.090509486966766e-06\n",
      "################################  2904  ################################\n",
      "Loss:  6.083481366658816e-06\n",
      "################################  2905  ################################\n",
      "Loss:  6.0755010053981096e-06\n",
      "################################  2906  ################################\n",
      "Loss:  6.0674824453599285e-06\n",
      "################################  2907  ################################\n",
      "Loss:  6.058740837033838e-06\n",
      "################################  2908  ################################\n",
      "Loss:  6.048626801202772e-06\n",
      "################################  2909  ################################\n",
      "Loss:  6.040093467163388e-06\n",
      "################################  2910  ################################\n",
      "Loss:  6.031007615092676e-06\n",
      "################################  2911  ################################\n",
      "Loss:  6.023049991199514e-06\n",
      "################################  2912  ################################\n",
      "Loss:  6.013965958118206e-06\n",
      "################################  2913  ################################\n",
      "Loss:  6.004840997775318e-06\n",
      "################################  2914  ################################\n",
      "Loss:  5.995756509946659e-06\n",
      "################################  2915  ################################\n",
      "Loss:  5.98788756178692e-06\n",
      "################################  2916  ################################\n",
      "Loss:  5.980878540867707e-06\n",
      "################################  2917  ################################\n",
      "Loss:  5.973951374471653e-06\n",
      "################################  2918  ################################\n",
      "Loss:  5.967615834379103e-06\n",
      "################################  2919  ################################\n",
      "Loss:  5.961452188785188e-06\n",
      "################################  2920  ################################\n",
      "Loss:  5.955741471552756e-06\n",
      "################################  2921  ################################\n",
      "Loss:  5.950781542196637e-06\n",
      "################################  2922  ################################\n",
      "Loss:  5.945975772192469e-06\n",
      "################################  2923  ################################\n",
      "Loss:  5.941385552432621e-06\n",
      "################################  2924  ################################\n",
      "Loss:  5.936525212746346e-06\n",
      "################################  2925  ################################\n",
      "Loss:  5.931996838626219e-06\n",
      "################################  2926  ################################\n",
      "Loss:  5.928003702138085e-06\n",
      "################################  2927  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  5.9240041991870385e-06\n",
      "################################  2928  ################################\n",
      "Loss:  5.9203352975600865e-06\n",
      "################################  2929  ################################\n",
      "Loss:  5.916939699091017e-06\n",
      "################################  2930  ################################\n",
      "Loss:  5.9121202866663225e-06\n",
      "################################  2931  ################################\n",
      "Loss:  5.907822924200445e-06\n",
      "################################  2932  ################################\n",
      "Loss:  5.902286829950754e-06\n",
      "################################  2933  ################################\n",
      "Loss:  5.897953997191507e-06\n",
      "################################  2934  ################################\n",
      "Loss:  5.89291266805958e-06\n",
      "################################  2935  ################################\n",
      "Loss:  5.887266070203623e-06\n",
      "################################  2936  ################################\n",
      "Loss:  5.88011880608974e-06\n",
      "################################  2937  ################################\n",
      "Loss:  5.8734171943797264e-06\n",
      "################################  2938  ################################\n",
      "Loss:  5.86640135225025e-06\n",
      "################################  2939  ################################\n",
      "Loss:  5.857977612322429e-06\n",
      "################################  2940  ################################\n",
      "Loss:  5.849361514265183e-06\n",
      "################################  2941  ################################\n",
      "Loss:  5.839935056428658e-06\n",
      "################################  2942  ################################\n",
      "Loss:  5.830633654113626e-06\n",
      "################################  2943  ################################\n",
      "Loss:  5.8213399825035594e-06\n",
      "################################  2944  ################################\n",
      "Loss:  5.812240942759672e-06\n",
      "################################  2945  ################################\n",
      "Loss:  5.803941803605994e-06\n",
      "################################  2946  ################################\n",
      "Loss:  5.795730430691037e-06\n",
      "################################  2947  ################################\n",
      "Loss:  5.787864211015403e-06\n",
      "################################  2948  ################################\n",
      "Loss:  5.780310402769828e-06\n",
      "################################  2949  ################################\n",
      "Loss:  5.773510110884672e-06\n",
      "################################  2950  ################################\n",
      "Loss:  5.766694357589586e-06\n",
      "################################  2951  ################################\n",
      "Loss:  5.76081265535322e-06\n",
      "################################  2952  ################################\n",
      "Loss:  5.75563126403722e-06\n",
      "################################  2953  ################################\n",
      "Loss:  5.7492920859658625e-06\n",
      "################################  2954  ################################\n",
      "Loss:  5.745081125496654e-06\n",
      "################################  2955  ################################\n",
      "Loss:  5.741058430430712e-06\n",
      "################################  2956  ################################\n",
      "Loss:  5.736412731494056e-06\n",
      "################################  2957  ################################\n",
      "Loss:  5.731312739953864e-06\n",
      "################################  2958  ################################\n",
      "Loss:  5.727596089855069e-06\n",
      "################################  2959  ################################\n",
      "Loss:  5.7237139117205516e-06\n",
      "################################  2960  ################################\n",
      "Loss:  5.719426098949043e-06\n",
      "################################  2961  ################################\n",
      "Loss:  5.714563485526014e-06\n",
      "################################  2962  ################################\n",
      "Loss:  5.7102201935776975e-06\n",
      "################################  2963  ################################\n",
      "Loss:  5.706317097065039e-06\n",
      "################################  2964  ################################\n",
      "Loss:  5.701667305402225e-06\n",
      "################################  2965  ################################\n",
      "Loss:  5.697525011783e-06\n",
      "################################  2966  ################################\n",
      "Loss:  5.6931453400466125e-06\n",
      "################################  2967  ################################\n",
      "Loss:  5.688717465091031e-06\n",
      "################################  2968  ################################\n",
      "Loss:  5.684118150384165e-06\n",
      "################################  2969  ################################\n",
      "Loss:  5.679402875102824e-06\n",
      "################################  2970  ################################\n",
      "Loss:  5.6747207963780966e-06\n",
      "################################  2971  ################################\n",
      "Loss:  5.66925928069395e-06\n",
      "################################  2972  ################################\n",
      "Loss:  5.663424872182077e-06\n",
      "################################  2973  ################################\n",
      "Loss:  5.658029294863809e-06\n",
      "################################  2974  ################################\n",
      "Loss:  5.652346771967132e-06\n",
      "################################  2975  ################################\n",
      "Loss:  5.646548743243329e-06\n",
      "################################  2976  ################################\n",
      "Loss:  5.640532890538452e-06\n",
      "################################  2977  ################################\n",
      "Loss:  5.634508852381259e-06\n",
      "################################  2978  ################################\n",
      "Loss:  5.628206963592675e-06\n",
      "################################  2979  ################################\n",
      "Loss:  5.6223834690172225e-06\n",
      "################################  2980  ################################\n",
      "Loss:  5.616278940578923e-06\n",
      "################################  2981  ################################\n",
      "Loss:  5.609387699223589e-06\n",
      "################################  2982  ################################\n",
      "Loss:  5.601514658337692e-06\n",
      "################################  2983  ################################\n",
      "Loss:  5.5944547057151794e-06\n",
      "################################  2984  ################################\n",
      "Loss:  5.587343821389368e-06\n",
      "################################  2985  ################################\n",
      "Loss:  5.5797868299123365e-06\n",
      "################################  2986  ################################\n",
      "Loss:  5.572651389229577e-06\n",
      "################################  2987  ################################\n",
      "Loss:  5.565223091252847e-06\n",
      "################################  2988  ################################\n",
      "Loss:  5.558619704970624e-06\n",
      "################################  2989  ################################\n",
      "Loss:  5.551419690164039e-06\n",
      "################################  2990  ################################\n",
      "Loss:  5.545239673665492e-06\n",
      "################################  2991  ################################\n",
      "Loss:  5.53939571545925e-06\n",
      "################################  2992  ################################\n",
      "Loss:  5.5328764574369416e-06\n",
      "################################  2993  ################################\n",
      "Loss:  5.526597760763252e-06\n",
      "################################  2994  ################################\n",
      "Loss:  5.520983904716559e-06\n",
      "################################  2995  ################################\n",
      "Loss:  5.514984422916314e-06\n",
      "################################  2996  ################################\n",
      "Loss:  5.508715730684344e-06\n",
      "################################  2997  ################################\n",
      "Loss:  5.503027750819456e-06\n",
      "################################  2998  ################################\n",
      "Loss:  5.497435722645605e-06\n",
      "################################  2999  ################################\n",
      "Loss:  5.4924312280490994e-06\n",
      "################################  3000  ################################\n",
      "Loss:  5.487223461386748e-06\n",
      "################################  3001  ################################\n",
      "Loss:  5.4816605370433535e-06\n",
      "################################  3002  ################################\n",
      "Loss:  5.4768584050179925e-06\n",
      "################################  3003  ################################\n",
      "Loss:  5.472219072544249e-06\n",
      "################################  3004  ################################\n",
      "Loss:  5.467404662340414e-06\n",
      "################################  3005  ################################\n",
      "Loss:  5.461577529786155e-06\n",
      "################################  3006  ################################\n",
      "Loss:  5.457674888020847e-06\n",
      "################################  3007  ################################\n",
      "Loss:  5.453743142425083e-06\n",
      "################################  3008  ################################\n",
      "Loss:  5.44894010090502e-06\n",
      "################################  3009  ################################\n",
      "Loss:  5.44490285392385e-06\n",
      "################################  3010  ################################\n",
      "Loss:  5.440780569188064e-06\n",
      "################################  3011  ################################\n",
      "Loss:  5.436964329419425e-06\n",
      "################################  3012  ################################\n",
      "Loss:  5.432450961961877e-06\n",
      "################################  3013  ################################\n",
      "Loss:  5.428695658338256e-06\n",
      "################################  3014  ################################\n",
      "Loss:  5.4242527767200954e-06\n",
      "################################  3015  ################################\n",
      "Loss:  5.419544777396368e-06\n",
      "################################  3016  ################################\n",
      "Loss:  5.414392489910824e-06\n",
      "################################  3017  ################################\n",
      "Loss:  5.409743152995361e-06\n",
      "################################  3018  ################################\n",
      "Loss:  5.4050788094173186e-06\n",
      "################################  3019  ################################\n",
      "Loss:  5.401001999416621e-06\n",
      "################################  3020  ################################\n",
      "Loss:  5.396448614192195e-06\n",
      "################################  3021  ################################\n",
      "Loss:  5.392679668148048e-06\n",
      "################################  3022  ################################\n",
      "Loss:  5.3885210036241915e-06\n",
      "################################  3023  ################################\n",
      "Loss:  5.3848684729018714e-06\n",
      "################################  3024  ################################\n",
      "Loss:  5.381610662880121e-06\n",
      "################################  3025  ################################\n",
      "Loss:  5.378121386456769e-06\n",
      "################################  3026  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  5.374341526476201e-06\n",
      "################################  3027  ################################\n",
      "Loss:  5.370459348341683e-06\n",
      "################################  3028  ################################\n",
      "Loss:  5.367114681575913e-06\n",
      "################################  3029  ################################\n",
      "Loss:  5.3638441386283375e-06\n",
      "################################  3030  ################################\n",
      "Loss:  5.360770956031047e-06\n",
      "################################  3031  ################################\n",
      "Loss:  5.358221187634626e-06\n",
      "################################  3032  ################################\n",
      "Loss:  5.355250323191285e-06\n",
      "################################  3033  ################################\n",
      "Loss:  5.352738298824988e-06\n",
      "################################  3034  ################################\n",
      "Loss:  5.349772436602507e-06\n",
      "################################  3035  ################################\n",
      "Loss:  5.347389105736511e-06\n",
      "################################  3036  ################################\n",
      "Loss:  5.344951659935759e-06\n",
      "################################  3037  ################################\n",
      "Loss:  5.342445092537673e-06\n",
      "################################  3038  ################################\n",
      "Loss:  5.340034476830624e-06\n",
      "################################  3039  ################################\n",
      "Loss:  5.337644779501716e-06\n",
      "################################  3040  ################################\n",
      "Loss:  5.334875368134817e-06\n",
      "################################  3041  ################################\n",
      "Loss:  5.332095952326199e-06\n",
      "################################  3042  ################################\n",
      "Loss:  5.3294265853764955e-06\n",
      "################################  3043  ################################\n",
      "Loss:  5.326548034645384e-06\n",
      "################################  3044  ################################\n",
      "Loss:  5.32377043782617e-06\n",
      "################################  3045  ################################\n",
      "Loss:  5.320909167494392e-06\n",
      "################################  3046  ################################\n",
      "Loss:  5.318007879395736e-06\n",
      "################################  3047  ################################\n",
      "Loss:  5.315118414728204e-06\n",
      "################################  3048  ################################\n",
      "Loss:  5.31259775016224e-06\n",
      "################################  3049  ################################\n",
      "Loss:  5.3101407502254006e-06\n",
      "################################  3050  ################################\n",
      "Loss:  5.307388164510485e-06\n",
      "################################  3051  ################################\n",
      "Loss:  5.304576916387305e-06\n",
      "################################  3052  ################################\n",
      "Loss:  5.301965757098515e-06\n",
      "################################  3053  ################################\n",
      "Loss:  5.29923408976174e-06\n",
      "################################  3054  ################################\n",
      "Loss:  5.296487870509736e-06\n",
      "################################  3055  ################################\n",
      "Loss:  5.2933469305571634e-06\n",
      "################################  3056  ################################\n",
      "Loss:  5.290685749059776e-06\n",
      "################################  3057  ################################\n",
      "Loss:  5.288431111694081e-06\n",
      "################################  3058  ################################\n",
      "Loss:  5.285937277221819e-06\n",
      "################################  3059  ################################\n",
      "Loss:  5.283688096824335e-06\n",
      "################################  3060  ################################\n",
      "Loss:  5.2810542001680005e-06\n",
      "################################  3061  ################################\n",
      "Loss:  5.2790114750678185e-06\n",
      "################################  3062  ################################\n",
      "Loss:  5.2760797188966535e-06\n",
      "################################  3063  ################################\n",
      "Loss:  5.273584065434989e-06\n",
      "################################  3064  ################################\n",
      "Loss:  5.270957444736268e-06\n",
      "################################  3065  ################################\n",
      "Loss:  5.267640062811552e-06\n",
      "################################  3066  ################################\n",
      "Loss:  5.264749233901966e-06\n",
      "################################  3067  ################################\n",
      "Loss:  5.261281330604106e-06\n",
      "################################  3068  ################################\n",
      "Loss:  5.2582158787117805e-06\n",
      "################################  3069  ################################\n",
      "Loss:  5.254403276921948e-06\n",
      "################################  3070  ################################\n",
      "Loss:  5.250494723441079e-06\n",
      "################################  3071  ################################\n",
      "Loss:  5.24643746757647e-06\n",
      "################################  3072  ################################\n",
      "Loss:  5.24206143381889e-06\n",
      "################################  3073  ################################\n",
      "Loss:  5.23789094586391e-06\n",
      "################################  3074  ################################\n",
      "Loss:  5.233679985394701e-06\n",
      "################################  3075  ################################\n",
      "Loss:  5.2296659305284265e-06\n",
      "################################  3076  ################################\n",
      "Loss:  5.2261375458328985e-06\n",
      "################################  3077  ################################\n",
      "Loss:  5.2222644626453985e-06\n",
      "################################  3078  ################################\n",
      "Loss:  5.218777914706152e-06\n",
      "################################  3079  ################################\n",
      "Loss:  5.215043529460672e-06\n",
      "################################  3080  ################################\n",
      "Loss:  5.211190909903962e-06\n",
      "################################  3081  ################################\n",
      "Loss:  5.207287358643953e-06\n",
      "################################  3082  ################################\n",
      "Loss:  5.2036393753951415e-06\n",
      "################################  3083  ################################\n",
      "Loss:  5.2004352255607955e-06\n",
      "################################  3084  ################################\n",
      "Loss:  5.197066002438078e-06\n",
      "################################  3085  ################################\n",
      "Loss:  5.193784545554081e-06\n",
      "################################  3086  ################################\n",
      "Loss:  5.190851425140863e-06\n",
      "################################  3087  ################################\n",
      "Loss:  5.187927854422014e-06\n",
      "################################  3088  ################################\n",
      "Loss:  5.1847582653863356e-06\n",
      "################################  3089  ################################\n",
      "Loss:  5.1821148190356325e-06\n",
      "################################  3090  ################################\n",
      "Loss:  5.179244453756837e-06\n",
      "################################  3091  ################################\n",
      "Loss:  5.176777904125629e-06\n",
      "################################  3092  ################################\n",
      "Loss:  5.174456418899354e-06\n",
      "################################  3093  ################################\n",
      "Loss:  5.171742486709263e-06\n",
      "################################  3094  ################################\n",
      "Loss:  5.169388259673724e-06\n",
      "################################  3095  ################################\n",
      "Loss:  5.166615210328018e-06\n",
      "################################  3096  ################################\n",
      "Loss:  5.164434696780518e-06\n",
      "################################  3097  ################################\n",
      "Loss:  5.161591161595425e-06\n",
      "################################  3098  ################################\n",
      "Loss:  5.159287411515834e-06\n",
      "################################  3099  ################################\n",
      "Loss:  5.156738552614115e-06\n",
      "################################  3100  ################################\n",
      "Loss:  5.1534489102778025e-06\n",
      "################################  3101  ################################\n",
      "Loss:  5.150098331796471e-06\n",
      "################################  3102  ################################\n",
      "Loss:  5.146272087586112e-06\n",
      "################################  3103  ################################\n",
      "Loss:  5.1430588428047486e-06\n",
      "################################  3104  ################################\n",
      "Loss:  5.139237146067899e-06\n",
      "################################  3105  ################################\n",
      "Loss:  5.135595984029351e-06\n",
      "################################  3106  ################################\n",
      "Loss:  5.131489160703495e-06\n",
      "################################  3107  ################################\n",
      "Loss:  5.128274096932728e-06\n",
      "################################  3108  ################################\n",
      "Loss:  5.124585186422337e-06\n",
      "################################  3109  ################################\n",
      "Loss:  5.120660262036836e-06\n",
      "################################  3110  ################################\n",
      "Loss:  5.116547072248068e-06\n",
      "################################  3111  ################################\n",
      "Loss:  5.1122619879606646e-06\n",
      "################################  3112  ################################\n",
      "Loss:  5.107736797071993e-06\n",
      "################################  3113  ################################\n",
      "Loss:  5.10304653289495e-06\n",
      "################################  3114  ################################\n",
      "Loss:  5.09929122927133e-06\n",
      "################################  3115  ################################\n",
      "Loss:  5.095054802950472e-06\n",
      "################################  3116  ################################\n",
      "Loss:  5.090531885798555e-06\n",
      "################################  3117  ################################\n",
      "Loss:  5.086083092464833e-06\n",
      "################################  3118  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  5.081438757770229e-06\n",
      "################################  3119  ################################\n",
      "Loss:  5.076833986095153e-06\n",
      "################################  3120  ################################\n",
      "Loss:  5.071948180557229e-06\n",
      "################################  3121  ################################\n",
      "Loss:  5.067505298939068e-06\n",
      "################################  3122  ################################\n",
      "Loss:  5.062627224106109e-06\n",
      "################################  3123  ################################\n",
      "Loss:  5.057589078205638e-06\n",
      "################################  3124  ################################\n",
      "Loss:  5.05201933265198e-06\n",
      "################################  3125  ################################\n",
      "Loss:  5.046988007961772e-06\n",
      "################################  3126  ################################\n",
      "Loss:  5.041998974775197e-06\n",
      "################################  3127  ################################\n",
      "Loss:  5.036504717281787e-06\n",
      "################################  3128  ################################\n",
      "Loss:  5.03142246088828e-06\n",
      "################################  3129  ################################\n",
      "Loss:  5.026307462685509e-06\n",
      "################################  3130  ################################\n",
      "Loss:  5.021205652155913e-06\n",
      "################################  3131  ################################\n",
      "Loss:  5.016277100367006e-06\n",
      "################################  3132  ################################\n",
      "Loss:  5.01156500831712e-06\n",
      "################################  3133  ################################\n",
      "Loss:  5.007264462619787e-06\n",
      "################################  3134  ################################\n",
      "Loss:  5.002499165129848e-06\n",
      "################################  3135  ################################\n",
      "Loss:  4.998296844860306e-06\n",
      "################################  3136  ################################\n",
      "Loss:  4.993910806661006e-06\n",
      "################################  3137  ################################\n",
      "Loss:  4.9899758778337855e-06\n",
      "################################  3138  ################################\n",
      "Loss:  4.985804025636753e-06\n",
      "################################  3139  ################################\n",
      "Loss:  4.981023266736884e-06\n",
      "################################  3140  ################################\n",
      "Loss:  4.976071522833081e-06\n",
      "################################  3141  ################################\n",
      "Loss:  4.9719155867933296e-06\n",
      "################################  3142  ################################\n",
      "Loss:  4.967602762917522e-06\n",
      "################################  3143  ################################\n",
      "Loss:  4.963351329934085e-06\n",
      "################################  3144  ################################\n",
      "Loss:  4.958623776474269e-06\n",
      "################################  3145  ################################\n",
      "Loss:  4.953819370712154e-06\n",
      "################################  3146  ################################\n",
      "Loss:  4.948834430251736e-06\n",
      "################################  3147  ################################\n",
      "Loss:  4.943579369864892e-06\n",
      "################################  3148  ################################\n",
      "Loss:  4.938305210089311e-06\n",
      "################################  3149  ################################\n",
      "Loss:  4.933296168019297e-06\n",
      "################################  3150  ################################\n",
      "Loss:  4.928284397465177e-06\n",
      "################################  3151  ################################\n",
      "Loss:  4.923733740724856e-06\n",
      "################################  3152  ################################\n",
      "Loss:  4.919740604236722e-06\n",
      "################################  3153  ################################\n",
      "Loss:  4.915663794236025e-06\n",
      "################################  3154  ################################\n",
      "Loss:  4.911436917609535e-06\n",
      "################################  3155  ################################\n",
      "Loss:  4.907457878289279e-06\n",
      "################################  3156  ################################\n",
      "Loss:  4.903351964458125e-06\n",
      "################################  3157  ################################\n",
      "Loss:  4.899668510915944e-06\n",
      "################################  3158  ################################\n",
      "Loss:  4.8963916015054565e-06\n",
      "################################  3159  ################################\n",
      "Loss:  4.892913693765877e-06\n",
      "################################  3160  ################################\n",
      "Loss:  4.890157470072154e-06\n",
      "################################  3161  ################################\n",
      "Loss:  4.886727765551768e-06\n",
      "################################  3162  ################################\n",
      "Loss:  4.8840506678971e-06\n",
      "################################  3163  ################################\n",
      "Loss:  4.8803740355651826e-06\n",
      "################################  3164  ################################\n",
      "Loss:  4.877872925135307e-06\n",
      "################################  3165  ################################\n",
      "Loss:  4.8746387619758025e-06\n",
      "################################  3166  ################################\n",
      "Loss:  4.871009423368378e-06\n",
      "################################  3167  ################################\n",
      "Loss:  4.8666202019376215e-06\n",
      "################################  3168  ################################\n",
      "Loss:  4.86243334307801e-06\n",
      "################################  3169  ################################\n",
      "Loss:  4.8577162488072645e-06\n",
      "################################  3170  ################################\n",
      "Loss:  4.853141035709996e-06\n",
      "################################  3171  ################################\n",
      "Loss:  4.848870503337821e-06\n",
      "################################  3172  ################################\n",
      "Loss:  4.844327577302465e-06\n",
      "################################  3173  ################################\n",
      "Loss:  4.839820121560479e-06\n",
      "################################  3174  ################################\n",
      "Loss:  4.835437266592635e-06\n",
      "################################  3175  ################################\n",
      "Loss:  4.831359547097236e-06\n",
      "################################  3176  ################################\n",
      "Loss:  4.827368229598505e-06\n",
      "################################  3177  ################################\n",
      "Loss:  4.823729341296712e-06\n",
      "################################  3178  ################################\n",
      "Loss:  4.819544301426504e-06\n",
      "################################  3179  ################################\n",
      "Loss:  4.8164333747990895e-06\n",
      "################################  3180  ################################\n",
      "Loss:  4.813110990653513e-06\n",
      "################################  3181  ################################\n",
      "Loss:  4.809155143448152e-06\n",
      "################################  3182  ################################\n",
      "Loss:  4.805243406735826e-06\n",
      "################################  3183  ################################\n",
      "Loss:  4.801467184734065e-06\n",
      "################################  3184  ################################\n",
      "Loss:  4.7972921493055765e-06\n",
      "################################  3185  ################################\n",
      "Loss:  4.793725111085223e-06\n",
      "################################  3186  ################################\n",
      "Loss:  4.789033937413478e-06\n",
      "################################  3187  ################################\n",
      "Loss:  4.784718385053566e-06\n",
      "################################  3188  ################################\n",
      "Loss:  4.7798448576941155e-06\n",
      "################################  3189  ################################\n",
      "Loss:  4.773947239300469e-06\n",
      "################################  3190  ################################\n",
      "Loss:  4.767702648678096e-06\n",
      "################################  3191  ################################\n",
      "Loss:  4.761463060276583e-06\n",
      "################################  3192  ################################\n",
      "Loss:  4.755343525175704e-06\n",
      "################################  3193  ################################\n",
      "Loss:  4.749838353745872e-06\n",
      "################################  3194  ################################\n",
      "Loss:  4.744416855828604e-06\n",
      "################################  3195  ################################\n",
      "Loss:  4.739235464512603e-06\n",
      "################################  3196  ################################\n",
      "Loss:  4.734363301395206e-06\n",
      "################################  3197  ################################\n",
      "Loss:  4.729554802906932e-06\n",
      "################################  3198  ################################\n",
      "Loss:  4.725110102299368e-06\n",
      "################################  3199  ################################\n",
      "Loss:  4.721397999674082e-06\n",
      "################################  3200  ################################\n",
      "Loss:  4.717904175777221e-06\n",
      "################################  3201  ################################\n",
      "Loss:  4.714480382972397e-06\n",
      "################################  3202  ################################\n",
      "Loss:  4.711242127086734e-06\n",
      "################################  3203  ################################\n",
      "Loss:  4.708370397565886e-06\n",
      "################################  3204  ################################\n",
      "Loss:  4.705296760221245e-06\n",
      "################################  3205  ################################\n",
      "Loss:  4.702111709775636e-06\n",
      "################################  3206  ################################\n",
      "Loss:  4.6992577154014725e-06\n",
      "################################  3207  ################################\n",
      "Loss:  4.695731604442699e-06\n",
      "################################  3208  ################################\n",
      "Loss:  4.692048605647869e-06\n",
      "################################  3209  ################################\n",
      "Loss:  4.688650278694695e-06\n",
      "################################  3210  ################################\n",
      "Loss:  4.6852273953845724e-06\n",
      "################################  3211  ################################\n",
      "Loss:  4.681897735281382e-06\n",
      "################################  3212  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  4.6788063627900556e-06\n",
      "################################  3213  ################################\n",
      "Loss:  4.675596755987499e-06\n",
      "################################  3214  ################################\n",
      "Loss:  4.672317572840257e-06\n",
      "################################  3215  ################################\n",
      "Loss:  4.668778274208307e-06\n",
      "################################  3216  ################################\n",
      "Loss:  4.665947471949039e-06\n",
      "################################  3217  ################################\n",
      "Loss:  4.663074832933489e-06\n",
      "################################  3218  ################################\n",
      "Loss:  4.6601180656580254e-06\n",
      "################################  3219  ################################\n",
      "Loss:  4.656932105717715e-06\n",
      "################################  3220  ################################\n",
      "Loss:  4.652973984775599e-06\n",
      "################################  3221  ################################\n",
      "Loss:  4.649861239158781e-06\n",
      "################################  3222  ################################\n",
      "Loss:  4.646236448024865e-06\n",
      "################################  3223  ################################\n",
      "Loss:  4.641995019483147e-06\n",
      "################################  3224  ################################\n",
      "Loss:  4.637106485461118e-06\n",
      "################################  3225  ################################\n",
      "Loss:  4.632369382306933e-06\n",
      "################################  3226  ################################\n",
      "Loss:  4.627311682270374e-06\n",
      "################################  3227  ################################\n",
      "Loss:  4.622093911166303e-06\n",
      "################################  3228  ################################\n",
      "Loss:  4.616144451574655e-06\n",
      "################################  3229  ################################\n",
      "Loss:  4.611134500009939e-06\n",
      "################################  3230  ################################\n",
      "Loss:  4.604346031555906e-06\n",
      "################################  3231  ################################\n",
      "Loss:  4.598573013936402e-06\n",
      "################################  3232  ################################\n",
      "Loss:  4.590804110193858e-06\n",
      "################################  3233  ################################\n",
      "Loss:  4.58421345683746e-06\n",
      "################################  3234  ################################\n",
      "Loss:  4.5765427785227075e-06\n",
      "################################  3235  ################################\n",
      "Loss:  4.567824362311512e-06\n",
      "################################  3236  ################################\n",
      "Loss:  4.559296939987689e-06\n",
      "################################  3237  ################################\n",
      "Loss:  4.549926870822674e-06\n",
      "################################  3238  ################################\n",
      "Loss:  4.5420811147778295e-06\n",
      "################################  3239  ################################\n",
      "Loss:  4.532771981757833e-06\n",
      "################################  3240  ################################\n",
      "Loss:  4.524811174633214e-06\n",
      "################################  3241  ################################\n",
      "Loss:  4.515623913903255e-06\n",
      "################################  3242  ################################\n",
      "Loss:  4.5078995754010975e-06\n",
      "################################  3243  ################################\n",
      "Loss:  4.499478109210031e-06\n",
      "################################  3244  ################################\n",
      "Loss:  4.49165963800624e-06\n",
      "################################  3245  ################################\n",
      "Loss:  4.4846851778856944e-06\n",
      "################################  3246  ################################\n",
      "Loss:  4.476738013181603e-06\n",
      "################################  3247  ################################\n",
      "Loss:  4.470553449209547e-06\n",
      "################################  3248  ################################\n",
      "Loss:  4.464110588742187e-06\n",
      "################################  3249  ################################\n",
      "Loss:  4.457614522834774e-06\n",
      "################################  3250  ################################\n",
      "Loss:  4.4510043153422885e-06\n",
      "################################  3251  ################################\n",
      "Loss:  4.44524403064861e-06\n",
      "################################  3252  ################################\n",
      "Loss:  4.439868916961132e-06\n",
      "################################  3253  ################################\n",
      "Loss:  4.434383299667388e-06\n",
      "################################  3254  ################################\n",
      "Loss:  4.429242835612968e-06\n",
      "################################  3255  ################################\n",
      "Loss:  4.42450937043759e-06\n",
      "################################  3256  ################################\n",
      "Loss:  4.420214736455819e-06\n",
      "################################  3257  ################################\n",
      "Loss:  4.416109277372016e-06\n",
      "################################  3258  ################################\n",
      "Loss:  4.412074758874951e-06\n",
      "################################  3259  ################################\n",
      "Loss:  4.4082780732424e-06\n",
      "################################  3260  ################################\n",
      "Loss:  4.4045946197002195e-06\n",
      "################################  3261  ################################\n",
      "Loss:  4.401515525387367e-06\n",
      "################################  3262  ################################\n",
      "Loss:  4.398556484375149e-06\n",
      "################################  3263  ################################\n",
      "Loss:  4.3953182284894865e-06\n",
      "################################  3264  ################################\n",
      "Loss:  4.391813035908854e-06\n",
      "################################  3265  ################################\n",
      "Loss:  4.388868092064513e-06\n",
      "################################  3266  ################################\n",
      "Loss:  4.3860941332241055e-06\n",
      "################################  3267  ################################\n",
      "Loss:  4.383143277664203e-06\n",
      "################################  3268  ################################\n",
      "Loss:  4.380104201118229e-06\n",
      "################################  3269  ################################\n",
      "Loss:  4.377096502139466e-06\n",
      "################################  3270  ################################\n",
      "Loss:  4.374058335088193e-06\n",
      "################################  3271  ################################\n",
      "Loss:  4.371062459540553e-06\n",
      "################################  3272  ################################\n",
      "Loss:  4.36810569226509e-06\n",
      "################################  3273  ################################\n",
      "Loss:  4.364776941656601e-06\n",
      "################################  3274  ################################\n",
      "Loss:  4.362256731837988e-06\n",
      "################################  3275  ################################\n",
      "Loss:  4.35995980296866e-06\n",
      "################################  3276  ################################\n",
      "Loss:  4.357094894658076e-06\n",
      "################################  3277  ################################\n",
      "Loss:  4.354104021331295e-06\n",
      "################################  3278  ################################\n",
      "Loss:  4.351029929239303e-06\n",
      "################################  3279  ################################\n",
      "Loss:  4.3478071347635705e-06\n",
      "################################  3280  ################################\n",
      "Loss:  4.344910394138424e-06\n",
      "################################  3281  ################################\n",
      "Loss:  4.342024112702347e-06\n",
      "################################  3282  ################################\n",
      "Loss:  4.3393579289841e-06\n",
      "################################  3283  ################################\n",
      "Loss:  4.33676223110524e-06\n",
      "################################  3284  ################################\n",
      "Loss:  4.334018285589991e-06\n",
      "################################  3285  ################################\n",
      "Loss:  4.330689989728853e-06\n",
      "################################  3286  ################################\n",
      "Loss:  4.327630449552089e-06\n",
      "################################  3287  ################################\n",
      "Loss:  4.324730525695486e-06\n",
      "################################  3288  ################################\n",
      "Loss:  4.3213199205638375e-06\n",
      "################################  3289  ################################\n",
      "Loss:  4.3185641516174655e-06\n",
      "################################  3290  ################################\n",
      "Loss:  4.315930254961131e-06\n",
      "################################  3291  ################################\n",
      "Loss:  4.3131331040058285e-06\n",
      "################################  3292  ################################\n",
      "Loss:  4.31057424066239e-06\n",
      "################################  3293  ################################\n",
      "Loss:  4.307938979764003e-06\n",
      "################################  3294  ################################\n",
      "Loss:  4.305095899326261e-06\n",
      "################################  3295  ################################\n",
      "Loss:  4.3025029299315065e-06\n",
      "################################  3296  ################################\n",
      "Loss:  4.2997394302801695e-06\n",
      "################################  3297  ################################\n",
      "Loss:  4.29735428042477e-06\n",
      "################################  3298  ################################\n",
      "Loss:  4.294663540349575e-06\n",
      "################################  3299  ################################\n",
      "Loss:  4.291601726436056e-06\n",
      "################################  3300  ################################\n",
      "Loss:  4.288465333956992e-06\n",
      "################################  3301  ################################\n",
      "Loss:  4.285669092496391e-06\n",
      "################################  3302  ################################\n",
      "Loss:  4.282830559532158e-06\n",
      "################################  3303  ################################\n",
      "Loss:  4.279889708413975e-06\n",
      "################################  3304  ################################\n",
      "Loss:  4.2772453525685705e-06\n",
      "################################  3305  ################################\n",
      "Loss:  4.274414095561951e-06\n",
      "################################  3306  ################################\n",
      "Loss:  4.271662419341737e-06\n",
      "################################  3307  ################################\n",
      "Loss:  4.26903716288507e-06\n",
      "################################  3308  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  4.266003998054657e-06\n",
      "################################  3309  ################################\n",
      "Loss:  4.262934908183524e-06\n",
      "################################  3310  ################################\n",
      "Loss:  4.259781690052478e-06\n",
      "################################  3311  ################################\n",
      "Loss:  4.256733063812135e-06\n",
      "################################  3312  ################################\n",
      "Loss:  4.2535980355751235e-06\n",
      "################################  3313  ################################\n",
      "Loss:  4.250951860740315e-06\n",
      "################################  3314  ################################\n",
      "Loss:  4.248027380526764e-06\n",
      "################################  3315  ################################\n",
      "Loss:  4.245188847562531e-06\n",
      "################################  3316  ################################\n",
      "Loss:  4.242853265168378e-06\n",
      "################################  3317  ################################\n",
      "Loss:  4.240338512317976e-06\n",
      "################################  3318  ################################\n",
      "Loss:  4.237995653966209e-06\n",
      "################################  3319  ################################\n",
      "Loss:  4.2356018639111426e-06\n",
      "################################  3320  ################################\n",
      "Loss:  4.233333584124921e-06\n",
      "################################  3321  ################################\n",
      "Loss:  4.230806553096045e-06\n",
      "################################  3322  ################################\n",
      "Loss:  4.228161287755938e-06\n",
      "################################  3323  ################################\n",
      "Loss:  4.225373231747653e-06\n",
      "################################  3324  ################################\n",
      "Loss:  4.222742973070126e-06\n",
      "################################  3325  ################################\n",
      "Loss:  4.220050414005527e-06\n",
      "################################  3326  ################################\n",
      "Loss:  4.217382866045227e-06\n",
      "################################  3327  ################################\n",
      "Loss:  4.214697582938243e-06\n",
      "################################  3328  ################################\n",
      "Loss:  4.212189651298104e-06\n",
      "################################  3329  ################################\n",
      "Loss:  4.209553480905015e-06\n",
      "################################  3330  ################################\n",
      "Loss:  4.207241545373108e-06\n",
      "################################  3331  ################################\n",
      "Loss:  4.2048450268339366e-06\n",
      "################################  3332  ################################\n",
      "Loss:  4.2013607526314445e-06\n",
      "################################  3333  ################################\n",
      "Loss:  4.19938351114979e-06\n",
      "################################  3334  ################################\n",
      "Loss:  4.19642356064287e-06\n",
      "################################  3335  ################################\n",
      "Loss:  4.19400748796761e-06\n",
      "################################  3336  ################################\n",
      "Loss:  4.191153493593447e-06\n",
      "################################  3337  ################################\n",
      "Loss:  4.186442311038263e-06\n",
      "################################  3338  ################################\n",
      "Loss:  4.182337306701811e-06\n",
      "################################  3339  ################################\n",
      "Loss:  4.178396466159029e-06\n",
      "################################  3340  ################################\n",
      "Loss:  4.1741204768186435e-06\n",
      "################################  3341  ################################\n",
      "Loss:  4.169769454165362e-06\n",
      "################################  3342  ################################\n",
      "Loss:  4.165292011748534e-06\n",
      "################################  3343  ################################\n",
      "Loss:  4.160192020208342e-06\n",
      "################################  3344  ################################\n",
      "Loss:  4.1547186810930725e-06\n",
      "################################  3345  ################################\n",
      "Loss:  4.149377673456911e-06\n",
      "################################  3346  ################################\n",
      "Loss:  4.144207650824683e-06\n",
      "################################  3347  ################################\n",
      "Loss:  4.138421445532003e-06\n",
      "################################  3348  ################################\n",
      "Loss:  4.134065875405213e-06\n",
      "################################  3349  ################################\n",
      "Loss:  4.12997587773134e-06\n",
      "################################  3350  ################################\n",
      "Loss:  4.125508894503582e-06\n",
      "################################  3351  ################################\n",
      "Loss:  4.121327947359532e-06\n",
      "################################  3352  ################################\n",
      "Loss:  4.117632215638878e-06\n",
      "################################  3353  ################################\n",
      "Loss:  4.114108378416859e-06\n",
      "################################  3354  ################################\n",
      "Loss:  4.110766440135194e-06\n",
      "################################  3355  ################################\n",
      "Loss:  4.107697805011412e-06\n",
      "################################  3356  ################################\n",
      "Loss:  4.104557774553541e-06\n",
      "################################  3357  ################################\n",
      "Loss:  4.10164875574992e-06\n",
      "################################  3358  ################################\n",
      "Loss:  4.09903213949292e-06\n",
      "################################  3359  ################################\n",
      "Loss:  4.0967497625388205e-06\n",
      "################################  3360  ################################\n",
      "Loss:  4.094483756489353e-06\n",
      "################################  3361  ################################\n",
      "Loss:  4.0922400330600794e-06\n",
      "################################  3362  ################################\n",
      "Loss:  4.090011771040736e-06\n",
      "################################  3363  ################################\n",
      "Loss:  4.088107289135223e-06\n",
      "################################  3364  ################################\n",
      "Loss:  4.08631512982538e-06\n",
      "################################  3365  ################################\n",
      "Loss:  4.08454025091487e-06\n",
      "################################  3366  ################################\n",
      "Loss:  4.0825188989401795e-06\n",
      "################################  3367  ################################\n",
      "Loss:  4.080992312083254e-06\n",
      "################################  3368  ################################\n",
      "Loss:  4.07855895900866e-06\n",
      "################################  3369  ################################\n",
      "Loss:  4.075928700331133e-06\n",
      "################################  3370  ################################\n",
      "Loss:  4.072887804795755e-06\n",
      "################################  3371  ################################\n",
      "Loss:  4.069517217430985e-06\n",
      "################################  3372  ################################\n",
      "Loss:  4.065720986545784e-06\n",
      "################################  3373  ################################\n",
      "Loss:  4.061769686813932e-06\n",
      "################################  3374  ################################\n",
      "Loss:  4.057591013406636e-06\n",
      "################################  3375  ################################\n",
      "Loss:  4.054190867464058e-06\n",
      "################################  3376  ################################\n",
      "Loss:  4.0502523006580304e-06\n",
      "################################  3377  ################################\n",
      "Loss:  4.046054982609348e-06\n",
      "################################  3378  ################################\n",
      "Loss:  4.042266027681762e-06\n",
      "################################  3379  ################################\n",
      "Loss:  4.0381437429459766e-06\n",
      "################################  3380  ################################\n",
      "Loss:  4.034540324937552e-06\n",
      "################################  3381  ################################\n",
      "Loss:  4.03109697799664e-06\n",
      "################################  3382  ################################\n",
      "Loss:  4.027422619401477e-06\n",
      "################################  3383  ################################\n",
      "Loss:  4.024074769404251e-06\n",
      "################################  3384  ################################\n",
      "Loss:  4.0209929466072936e-06\n",
      "################################  3385  ################################\n",
      "Loss:  4.017887022200739e-06\n",
      "################################  3386  ################################\n",
      "Loss:  4.015356807940407e-06\n",
      "################################  3387  ################################\n",
      "Loss:  4.012703357147984e-06\n",
      "################################  3388  ################################\n",
      "Loss:  4.010557404399151e-06\n",
      "################################  3389  ################################\n",
      "Loss:  4.008251380582806e-06\n",
      "################################  3390  ################################\n",
      "Loss:  4.005922164651565e-06\n",
      "################################  3391  ################################\n",
      "Loss:  4.003650701633887e-06\n",
      "################################  3392  ################################\n",
      "Loss:  4.001562047051266e-06\n",
      "################################  3393  ################################\n",
      "Loss:  3.999492037110031e-06\n",
      "################################  3394  ################################\n",
      "Loss:  3.997579369752202e-06\n",
      "################################  3395  ################################\n",
      "Loss:  3.995955466962187e-06\n",
      "################################  3396  ################################\n",
      "Loss:  3.994138296548044e-06\n",
      "################################  3397  ################################\n",
      "Loss:  3.992297479271656e-06\n",
      "################################  3398  ################################\n",
      "Loss:  3.989926426584134e-06\n",
      "################################  3399  ################################\n",
      "Loss:  3.987661784776719e-06\n",
      "################################  3400  ################################\n",
      "Loss:  3.985016064689262e-06\n",
      "################################  3401  ################################\n",
      "Loss:  3.982177076977678e-06\n",
      "################################  3402  ################################\n",
      "Loss:  3.979611392423976e-06\n",
      "################################  3403  ################################\n",
      "Loss:  3.977028882218292e-06\n",
      "################################  3404  ################################\n",
      "Loss:  3.974602805101313e-06\n",
      "################################  3405  ################################\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss:  3.972137164964806e-06\n",
      "################################  3406  ################################\n",
      "Loss:  3.969479166698875e-06\n",
      "################################  3407  ################################\n",
      "Loss:  3.967303200624883e-06\n",
      "################################  3408  ################################\n",
      "Loss:  3.965112227888312e-06\n",
      "################################  3409  ################################\n",
      "Loss:  3.962868959206389e-06\n",
      "################################  3410  ################################\n",
      "Loss:  3.960574758821167e-06\n",
      "################################  3411  ################################\n",
      "Loss:  3.957986791647272e-06\n",
      "################################  3412  ################################\n",
      "Loss:  3.955742158723297e-06\n",
      "################################  3413  ################################\n",
      "Loss:  3.953490249841707e-06\n",
      "################################  3414  ################################\n",
      "Loss:  3.951116013922729e-06\n",
      "################################  3415  ################################\n",
      "Loss:  3.9490896597271785e-06\n",
      "################################  3416  ################################\n",
      "Loss:  3.9468350223614834e-06\n",
      "################################  3417  ################################\n",
      "Loss:  3.944836407754337e-06\n",
      "################################  3418  ################################\n",
      "Loss:  3.9427973206329625e-06\n",
      "################################  3419  ################################\n",
      "Loss:  3.940650003642077e-06\n",
      "################################  3420  ################################\n",
      "Loss:  3.938428562832996e-06\n",
      "################################  3421  ################################\n",
      "Loss:  3.936543180316221e-06\n",
      "################################  3422  ################################\n",
      "Loss:  3.9346064113487955e-06\n",
      "################################  3423  ################################\n",
      "Loss:  3.9322876546066254e-06\n",
      "################################  3424  ################################\n",
      "Loss:  3.930021648557158e-06\n",
      "################################  3425  ################################\n",
      "Loss:  3.927674697479233e-06\n",
      "################################  3426  ################################\n",
      "Loss:  3.925182681996375e-06\n",
      "################################  3427  ################################\n",
      "Loss:  3.92282527172938e-06\n",
      "################################  3428  ################################\n",
      "Loss:  3.920110430044588e-06\n",
      "################################  3429  ################################\n",
      "Loss:  3.917594312952133e-06\n",
      "################################  3430  ################################\n",
      "Loss:  3.9146439121395815e-06\n",
      "################################  3431  ################################\n",
      "Loss:  3.912101419700775e-06\n",
      "################################  3432  ################################\n",
      "Loss:  3.909380211553071e-06\n",
      "################################  3433  ################################\n",
      "Loss:  3.906807251041755e-06\n",
      "################################  3434  ################################\n",
      "Loss:  3.903804099536501e-06\n",
      "################################  3435  ################################\n",
      "Loss:  3.9011019907775335e-06\n",
      "################################  3436  ################################\n",
      "Loss:  3.898552222381113e-06\n",
      "################################  3437  ################################\n",
      "Loss:  3.895656845998019e-06\n",
      "################################  3438  ################################\n",
      "Loss:  3.892605491273571e-06\n",
      "################################  3439  ################################\n",
      "Loss:  3.889811523549724e-06\n",
      "################################  3440  ################################\n",
      "Loss:  3.88657736039022e-06\n",
      "################################  3441  ################################\n",
      "Loss:  3.883788849634584e-06\n",
      "################################  3442  ################################\n",
      "Loss:  3.8809430407127365e-06\n",
      "################################  3443  ################################\n",
      "Loss:  3.8775024222559296e-06\n",
      "################################  3444  ################################\n",
      "Loss:  3.8747907638025936e-06\n",
      "################################  3445  ################################\n",
      "Loss:  3.871592525683809e-06\n",
      "################################  3446  ################################\n",
      "Loss:  3.868181920552161e-06\n",
      "################################  3447  ################################\n",
      "Loss:  3.86444708055933e-06\n",
      "################################  3448  ################################\n",
      "Loss:  3.860698143398622e-06\n",
      "################################  3449  ################################\n",
      "Loss:  3.856966486637248e-06\n",
      "################################  3450  ################################\n",
      "Loss:  3.853119324048748e-06\n",
      "################################  3451  ################################\n",
      "Loss:  3.84966779165552e-06\n",
      "################################  3452  ################################\n",
      "Loss:  3.845875198749127e-06\n",
      "################################  3453  ################################\n",
      "Loss:  3.842641945084324e-06\n",
      "################################  3454  ################################\n",
      "Loss:  3.839096279989462e-06\n",
      "################################  3455  ################################\n",
      "Loss:  3.83597625841503e-06\n",
      "################################  3456  ################################\n",
      "Loss:  3.832843958662124e-06\n",
      "################################  3457  ################################\n",
      "Loss:  3.829412435152335e-06\n",
      "################################  3458  ################################\n",
      "Loss:  3.826285137620289e-06\n",
      "################################  3459  ################################\n",
      "Loss:  3.822969574684976e-06\n",
      "################################  3460  ################################\n",
      "Loss:  3.8199582377274055e-06\n",
      "################################  3461  ################################\n",
      "Loss:  3.816854587057605e-06\n",
      "################################  3462  ################################\n",
      "Loss:  3.8138812215038342e-06\n",
      "################################  3463  ################################\n",
      "Loss:  3.8107186810520943e-06\n",
      "################################  3464  ################################\n",
      "Loss:  3.807784196396824e-06\n",
      "################################  3465  ################################\n",
      "Loss:  3.804817652053316e-06\n",
      "################################  3466  ################################\n",
      "Loss:  3.8016096368664876e-06\n",
      "################################  3467  ################################\n",
      "Loss:  3.7982074445608305e-06\n",
      "################################  3468  ################################\n",
      "Loss:  3.795360044023255e-06\n",
      "################################  3469  ################################\n",
      "Loss:  3.7926081404293654e-06\n",
      "################################  3470  ################################\n",
      "Loss:  3.78970435122028e-06\n",
      "################################  3471  ################################\n",
      "Loss:  3.7871154745516833e-06\n",
      "################################  3472  ################################\n",
      "Loss:  3.7842937672394328e-06\n",
      "################################  3473  ################################\n",
      "Loss:  3.781033910854603e-06\n",
      "################################  3474  ################################\n",
      "Loss:  3.7778643218189245e-06\n",
      "################################  3475  ################################\n",
      "Loss:  3.774918013732531e-06\n",
      "################################  3476  ################################\n",
      "Loss:  3.771345063796616e-06\n",
      "################################  3477  ################################\n",
      "Loss:  3.768876467802329e-06\n",
      "################################  3478  ################################\n",
      "Loss:  3.766311465369654e-06\n",
      "################################  3479  ################################\n",
      "Loss:  3.7630661609000526e-06\n",
      "################################  3480  ################################\n",
      "Loss:  3.7596855690935627e-06\n",
      "################################  3481  ################################\n",
      "Loss:  3.75636000171653e-06\n",
      "################################  3482  ################################\n",
      "Loss:  3.753381179194548e-06\n",
      "################################  3483  ################################\n",
      "Loss:  3.7504173633351456e-06\n",
      "################################  3484  ################################\n",
      "Loss:  3.7475363114936044e-06\n",
      "################################  3485  ################################\n",
      "Loss:  3.7449135561473668e-06\n",
      "################################  3486  ################################\n",
      "Loss:  3.741951104530017e-06\n",
      "################################  3487  ################################\n",
      "Loss:  3.7391705518530216e-06\n",
      "################################  3488  ################################\n",
      "Loss:  3.736439111889922e-06\n",
      "################################  3489  ################################\n",
      "Loss:  3.7336337754823035e-06\n",
      "################################  3490  ################################\n",
      "Loss:  3.730999878825969e-06\n",
      "################################  3491  ################################\n",
      "Loss:  3.7283305118762655e-06\n",
      "################################  3492  ################################\n",
      "Loss:  3.7259260352584533e-06\n",
      "################################  3493  ################################\n",
      "Loss:  3.723428562807385e-06\n",
      "################################  3494  ################################\n",
      "Loss:  3.720983158927993e-06\n",
      "################################  3495  ################################\n",
      "Loss:  3.7184775010246085e-06\n",
      "################################  3496  ################################\n",
      "Loss:  3.715910224855179e-06\n",
      "################################  3497  ################################\n",
      "Loss:  3.713970727403648e-06\n",
      "################################  3498  ################################\n",
      "Loss:  3.7118695672688773e-06\n",
      "################################  3499  ################################\n",
      "Loss:  3.7096324376761913e-06\n"
     ]
    }
   ],
   "source": [
    "def fit(model, training_set, interior, num_epochs, optimizer, p, verbose=True):\n",
    "    history = list()\n",
    "\n",
    "    # Loop over epochs\n",
    "    for epoch in range(num_epochs):\n",
    "        if verbose: print(\"################################ \", epoch, \" ################################\")\n",
    "\n",
    "        running_loss = list([0])\n",
    "\n",
    "        # Loop over batches\n",
    "        for j, (initial, u_initial, bd_left,  bd_right) in enumerate(training_set):\n",
    "\n",
    "            def closure():\n",
    "                # zero the parameter gradients\n",
    "                optimizer.zero_grad()\n",
    "                # for initial\n",
    "                u_initial_pred_ = model(initial)\n",
    "                # for left boundary\n",
    "                u_bd_left_pred_ = model(bd_left)\n",
    "                # for right boundary\n",
    "                u_bd_right_pred_ = model(bd_right)\n",
    "\n",
    "                # residual calculation\n",
    "                interior.requires_grad = True\n",
    "                u_hat = model(interior)\n",
    "                inputs = torch.ones(residual_pts, 1 )\n",
    "                inputs2 = torch.ones(residual_pts, 1)\n",
    "                grad_u_hat = torch.autograd.grad(u_hat, interior, grad_outputs=inputs, create_graph=True)[0]\n",
    "\n",
    "                u_x = grad_u_hat[:, 0]\n",
    "                u_t =  grad_u_hat[:, 1]\n",
    "\n",
    "                grad_grad_u_x = torch.autograd.grad(u_x, interior, grad_outputs=torch.ones(interior.shape[0]), create_graph=True)[0]\n",
    "                u_xx = grad_grad_u_x[:, 0]\n",
    "\n",
    "                # Item 1. below\n",
    "                loss = torch.mean((u_initial_pred_.reshape(-1, ) - u_initial.reshape(-1, ))**p) + torch.mean((u_t.reshape(-1, ) + (u_hat.reshape(-1, )*u_x.reshape(-1, )).reshape(-1, ) - (0.01/pi)*u_xx.reshape(-1, ))**p) +torch.mean((u_bd_left_pred_.reshape(-1,))**p) + torch.mean((u_bd_right_pred_.reshape(-1,))**p)\n",
    "\n",
    "\n",
    "                # Item 2. below\n",
    "                loss.backward()\n",
    "                # Compute average training loss over batches for the current epoch\n",
    "                running_loss[0] += loss.item()\n",
    "                return loss\n",
    "\n",
    "            # Item 3. below\n",
    "            optimizer.step(closure=closure)\n",
    "\n",
    "        print('Loss: ', (running_loss[0] / len(training_set)))\n",
    "        history.append(running_loss[0])\n",
    "\n",
    "    return history\n",
    "\n",
    "\n",
    "n_epochs = 3500\n",
    "history = fit(my_network, training_set, interior, n_epochs, optimizer_, p=2, verbose=True )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "94985e04",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7f2570450ca0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x_test = torch.linspace(-1, 1, 256).reshape(-1,1)\n",
    "t_test = torch.ones(256).reshape(-1,1)\n",
    "test = torch.cat([x_test, t_test],1)\n",
    "\n",
    "my_network = my_network.cpu()\n",
    "u_test_pred = my_network(test).reshape(-1,1)\n",
    "\n",
    "\n",
    "plt.grid(True, which=\"both\", ls=\":\")\n",
    "plt.plot(x_test, u_test_pred.detach(), label=\"Network Prediction\",lw=2)\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"u\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "70f41af4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_shape (256, 1)\n",
      "t_shape (100, 1)\n",
      "u_shape (256, 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Exact solution from fdm\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import time\n",
    "import scipy.io\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n",
    "\n",
    "# Toy problem data\n",
    "input_size = 256\n",
    "hidden_size = 32\n",
    "output_size = 256\n",
    "sequence_length = 75\n",
    "batch_size = 1\n",
    "num_epochs = 20000\n",
    "\n",
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('burgers_shock.mat')\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['t']\n",
    "u = mat_data['usol']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(\"x_shape\", x.shape)\n",
    "print(\"t_shape\", t.shape)\n",
    "print(\"u_shape\", u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u), np.max(u), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Burgers')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "58c9f28f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "\n",
    "u_sol = torch.zeros(100, 256)\n",
    "x_test = torch.linspace(-1, 1, 256).reshape(-1, 1)\n",
    "t_test = torch.zeros(256).reshape(-1, 1)\n",
    "dt = 0.01\n",
    "\n",
    "# # Assuming my_network is your defined neural network model\n",
    "# my_network = YourNetworkModel()\n",
    "\n",
    "for i in range(100):\n",
    "      # Increment t_test by dt\n",
    "    test = torch.cat([x_test, t_test], dim=1)\n",
    "  \n",
    "  \n",
    "    output = my_network(test)\n",
    "    t_test += dt\n",
    "    u_sol[i, :] = output.reshape(256)  # Reshape output to match u_sol[i, :]\n",
    "\n",
    "# Rest of your code...\n",
    "u1 = u_sol.T\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "96dc23a4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-1, 1, 256)\n",
    "t = np.linspace(0, 1, 100)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# # Define custom color levels\n",
    "#c_levels = np.linspace(np.min(u), np.max(u), 100)\n",
    "u1 = u1.detach().numpy()\n",
    "# Plot the contour\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u1.T, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Burgers')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51dcff9f",
   "metadata": {},
   "source": [
    "### Error percent"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "d6bc15da",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  1.0340189074542334 %\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Assuming u_test_pred and u_test are your PyTorch tensors\n",
    "\n",
    "# Convert PyTorch tensors to NumPy arrays\n",
    "u_test_pred_np = u1\n",
    "u_test_np = u\n",
    "\n",
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = np.mean((u_test_pred_np - u_test_np)**2) / np.mean(u_test_np**2)\n",
    "print(\"Relative Error Test: \", relative_error_test * 100, \"%\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "08a632e8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.io\n",
    "\n",
    "# Example data\n",
    "data = {\n",
    "    'x': x,\n",
    "    't': t,\n",
    "    'u1': u,\n",
    "}\n",
    "\n",
    "# Save data to .mat file\n",
    "file_path = 'burg.mat'\n",
    "scipy.io.savemat(file_path, data)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ac11a8a1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "pytorch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
